Googleが、軽量で高速なkey-valueデータベースライブラリ「LevelDB」をGoogle Codeにて公開しました。公開自体は2011年3月でしたが、5月上旬ごろ海外ニュースサイト「Hacker News」を発端に広まりました。
LevelDBはGoogle ChromeのIndexedDB実装として開発されているようで、開発バージョンのChromeのabout:flags設定にて「IndexedDB use LevelDB」という項目が確認できます。非常にシンプルな操作でデータ管理を行える一方、デフォルトでSnappy圧縮を行うなどユニークな面もあります。また、Google BigTableやCassandraで採用されているLog-Structured Merge-Treeというデータ構造を持っており、主にRDBMSに採用されているB+Treeと比較して書き込み性能に優れているという特徴を持ちます。
開発にはGoogle MapReduceやBigTableの作者としても有名なJeffrey Dean氏、Sanjay Ghemawat氏が関わっています。Sanjay氏によると、LevelDBの開発にあたり、全体的なパフォーマンスの良さや実績の豊富さから平林幹雄氏による「Tokyo Cabinet」の採用も検討したそうですが、最終的にはランダム書き込みの性能を優先し、LevelDBを開発することになりました。日本人技術者によりソースコードについて議論している様子がTogetterにてまとめられており、コードリーディングの参考になります。
URL:http://code.google.com/p/leveldb/