Facebook、GoogleのLevelDBを採用したキーバリュー型ストア「RocksDB」公開。マルチコアと高速ストレージに最適化

2013年11月26日

最新のサーバが備えるマルチコアと高速なフラッシュストレージの性能を活かすべく最適化したキーバリューストア「RocksDB」をFacebookがオープンソースとして公開しました

Under the Hood: Building and open-sourcing RocksDB

RocksDBはGoogleが開発したNoSQL軽量ライブラリ「LevelDB」を採用。以下の4つのビジョンを掲げています。

  1. Scales to run on servers with many CPU cores.
  2. Uses fast storage efficiently.
  3. Is flexible to allow for innovation.
  4. Supports IO-bound, in-memory, and write-once workloads.

サーバに搭載されているマルチプロセッサのメニーコアを活用し、フラッシュストレージのような高速ストレージに最適化。プラガブルアーキテクチャでつねに最新のテクノロジーへと入れ替え可能で、高I/O負荷に対応する、ということのようです。

マルチコア、高速ストレージ対応。プラガブルアーキテクチャ

マルチコアへの対応は、RocksDBの仕組みがシンプルでマルチコアを活用しやすく、またリードオンリーの処理とリードライトの処理が内部で分かれているためロック処理が少ないことも貢献しているとのことです。

高速ストレージへの最適化では、バックエンドでの圧縮機能が一般的なBツリーのデータ構造と比べて効率的であることに加え、圧縮によりライトの影響範囲が小さく抑えられることでフラッシュメモリの摩耗も抑えられるとしています。

プラガブルアーキテクチャの採用で、圧縮アルゴリズムを変更したり、データストア部分などの変更が可能になっています。

fig RocksDBのアーキテクチャ(Under the Hood: Building and open-sourcing RocksDBから)
このエントリーをはてなブックマークに追加
follow us in feedly


関連タグ NoSQL / データベース / Facebook / オープンソース



タグクラウド(β版)

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準

アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed


最新記事10本