BT

Googleは、Key-ValueデータストアであるLevelDBをオープンソース化した

| 作者: Abel Avram フォローする 7 人のフォロワー , 翻訳者 尾崎 義尚 フォローする 0 人のフォロワー 投稿日 2011年8月4日. 推定読書時間: 1 分 |

原文(投稿日:2011/07/29)へのリンク

Googleは、新しいBSDライセンス下でLevelDBをオープンソース化した。LevelDBは、置き換え可能なソートメカニズムによってソートされた任意のバイト配列で、キーと集約された値による埋め込み型のkey-valueデータベースである。データストアは非常にシンプルで、PutGetDeleteによる前方、後方への反復コマンドが許可されている。

データはSnappyを使って自動的に圧縮している。圧縮ライブラリは、GoogleのBigTable、MapReduce、RPC で使用されており、4月にオープンソース化されている。 LevelDBにはいくつかの制限がある。SQLクエリやインデックスをサポートしない、ひとつのプロセスでマルチスレッドをサポートしており、他のプロジェクトとその問題に対する利点である。

LevelDBは、バッチ書き込み操作に最適化されている。複数の変更はメモリ上で蓄積され、ソートされて、構成されたファイルサイズに達したときにディスクに書き込まれる。 結果として、シーケンシャルとランダム書き込み、シーケンシャル読み込みでよいパフォーマンスを発揮しており、Googleのパフォーマンスベンチマークによるといくつかのテストでは、SQLLiteと比較して2桁をたたき出している。 SQLiteは、ランダムリードではLevelDBよりも若干早く、大きな値の書き込みでは少なくても2倍高速である。 LevelDBはまた、同じようなkey-valueストアであるKyoto Cabinetよりもよいが、SQLiteとは比較にならない。 またRiakによるLevelDBとInnoDBとのいくつかの比較テストでは、GoogleのDBがInnoDBよりも優れており、いくつかのテストでは、近いパフォーマンスであった。

LevelDBは、C++で書かれており、少しの外部依存があるが、Windows、Mac OS X、Android、そしていくつかのUNIXへの移植に成功している。LevelDBは、IndexDB APIを実装した実験バージョンのChrome、ストレージノードレベルのRiakと、3Dマッピングソフトウェアの会社であるUpNextによって使われている。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT