LevelDB
概要
KVSというとmemcachedなどのオンメモリ型ばかり有名だが、LevelDBはオンディスク型で永続性があるのが特徴。
KVSというと「サーバーで動かすもの」というイメージが強いが、LevelDBはサーバーサイドやクライアントサイドを問わず「サクッとデータ保存取得するためのもの」といった感じになっている。KVS界のSQLite的な存在である。
機能的には、Snappyでのデータ圧縮やバッチ書き込みにも対応する。 素人プログラマがファイルを直接操作して糞遅い実装になるよりは遥かにマシ、SQLiteほど実装準備に労力も必要ない、という中間的な位置づけとなっている。
なお、LevelDBは軽さに特化したものなのでデータ保護機構などはない。プログラムのクラッシュ時にデータが吹っ飛ぶなどの事故が起こりがちである。データは定期的にバッグアップしよう。
採用事例
- Google ChromeのIndexedDB実装にも使われている
- Androidにも対応しておりマインクラフトPEでもデータ保存に使用されている。