RocksDBとは?
ろっくすでぃびー
RocksDBとは、Facebookが開発した組み込み型のキーバリューストアで、SSDや大容量メモリを活かして高スループット・低レイテンシの永続化ストレージを提供します。
RocksDBは、Facebookが開発しオープンソースとして公開した、高性能な組み込み型のキーバリューストア(KVS)エンジンです。Googleが公開したLevelDBをベースに、SSD・大容量RAMなど現代のハードウェアの特性を最大限に活かすよう大幅に拡張されています。
RocksDBの中核技術はLSM(Log-Structured Merge)ツリーです。書き込みを一旦メモリ(MemTable)に受け取り、バックグラウンドで順次ディスクに書き出す仕組みにより、ランダム書き込みを多数こなすワークロードで非常に高いスループットを実現します。
主な特徴は以下の通りです。
- 高い書き込み性能: LSMツリー構造により、HDDでもSSDでもシーケンシャル書き込みに近い性能を得られます。
- カラムファミリ: 1つのDBインスタンス内に複数の論理的なキースペースを持てます。
- 圧縮コンパクション: Zstd・LZ4・Snappyなど複数の圧縮アルゴリズムに対応し、ストレージ使用量を削減できます。
- 組み込み型: 独立したサーバープロセスが不要で、アプリケーションにライブラリとしてリンクして使います。
RocksDBはMySQL(MyRocks)・Apache Kafka・TiKV・CockroachDBなど多くのシステムのストレージエンジンとして採用されており、大規模データ処理基盤の底層を支える重要な技術となっています。
使い方・例文
Apache KafkaがRocksDBをログのストレージバックエンドとして採用しているほか、TiDBのストレージ層TiKVもRocksDBを内部エンジンに使用しており、高速なキーバリュー読み書きが求められる分散データベースの実装に広く登場します。
この用語をシェア
最終更新: