本文へスキップ

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を内部エンジンに使用しており、高速なキーバリュー読み書きが求められる分散データベースの実装に広く登場します。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語