この記事は自作DBMS Advent Calender 2020 の19日目の記事です。 セキュリティキャンプ全国大会に参加してきました。 ここでは、キャンプでフルスクラッチで作ったインメモリDBMSの紹介をしていきたいと思います。 実装したもの DBMSを作るといっても一人で作るにはもちろん限界があります。 そのため、実装を進める前にがんばる方向性を決める必要があります。 僕が選んだのは「トランザクションの並行制御」です。 実装したDBMSは次のようなものです。 Key-Value Store Read / Insert / Update / Delete 操作に対応 Index は標準ライブラリの concurrent hash map データの永続化、Crash Recovery を行う Conflict Serializability CC protocol は S2PL, MVT