Miniposts
2025/01/08
年が明けた.
輪読
Ling Zhang, Matthew Butrovich, Tianyu Li, Andrew Pavlo, Yash Nannapaneni, John Rollinson, Huanchen Zhang, Ambarish Balakumar, Daniel Biales, Ziqi Dong, Emmanuel J. Eppinger, Jordi E. Gonzalez, Wan Shen Lim, Jianqiao Liu, Lin Ma, Prashanth Menon, Soumil Mukherjee, Tanuj Nayak, Amadou Ngom, Dong Niu, Deepayan Patra, Poojita Raj, Stephanie Wang, Wuwen Wang, Yao Yu, William Zhang: Everything is a Transaction: Unifying Logical Concurrency Control and Physical Data Structure Maintenance in Database Management Systems. CIDR 2021 https://www.cidrdb.org/cidr2021/papers/cidr2021_paper06.pdf (opens in a new tab)
DBMSの物理データ構造 (e.g., B-tree) にはtransactional と maintanance で二つの異なる性質のactionが飛んできて,これらを同期・調停するのが大変なのだが, でかいキューを噛ませてtimestamp順に実行されるようにして,すべての(トランザクションであろうがそれ以外の処理であろうが)actionをdeffered actionとして順序づけて実行するようにすればCorrectnessの保証は簡単. 実装も簡単. ordering guaranteeも強く保証でき,かつオンラインDDLやself-driving database のためにも有用なbuilding blocks になるという提案.
任意の複数のシステムについて,一貫性を保った統合が必要とされたとき,キューがあればいいじゃない,という話になるあれをトランザクションの世界で見た,という感じはする. 性能(並列性)を高めるための工夫をしていくとだんだんもとのAPIに戻っていって元の木阿弥になりそうな感もあるが,しかし実装者としてはこれくらいシンプルなアーキテクチャのほうがありがたい.