HBaseによるインデックスの管理方法

HDFSが読み取り専用(または基本シナリオで追加可能)の場合、順序付きインデックスをどのように維持できますか?

インデックスをHDFSや永続的なストアに保存していますか?

[編集]例の目的のために、私が行F B A Eをこの順序で追加したとしましょう。 HDFSは追加することしかできないので、ディスク上の行の順序は挿入順序と同じになると思われます。しかし、どのようにインデックスを維持しているのですか? - キーを格納した領域は追記型であるためです。

0

1 答え

HBaseにはインデックスがありません。順序付けされたパーティション化とタイムスタンプ付き書き込みを使用して維持されるキー(SQL Serverのクラスタ化インデックスまたはOracleのインデックス構成テーブルとほぼ同等ですが、bツリーはありません)を注文しています。

memilesが特定の(設定可能な)サイズに達すると、HFilesはディスクのみにフラッシュされ、あなたは一度だけ書き込まれ、その後は変更されません。 HBaseが圧縮を実行すると、複数のファイルがディスクから読み込まれ、結合され、1つの大きな(結合された)ファイルとして書き直されます。その後、小さなファイルが削除されます。

その間、Write Ahead Log(WAL)はHDFSに定期的に(デフォルトでは10秒間)書き込まれ、指定されたリージョンサーバーの順序付けられた一連の編集が含まれます。私は、WALが HDFSを追加する必要があると信じています正しく。

All of this and a lot more info @ my presentation on HBase here: http://www.slideshare.net/trihug/intro-to-apache-hbase-by-chris-shain-of-tresata and here http://outerthought.org/blog/465-ot.html and here http://outerthought.org/blog/417-ot.html

2
追加された
両方。彼らは、HDFSにフラッシュされたHFilesだけでなく、
追加された 著者 Chris Shain,
HDFS上のファイルを変更することはありません。新しいファイルを書き込んで、複数のファイルを定期的に圧縮します。
追加された 著者 Chris Shain,
地域ごとに1つの家族につき1つのmemstoreがあります。各リージョンサーバーは多くのリージョンをホストする可能性が高いため、各リージョンサーバーには多くのストアがあります。
追加された 著者 Chris Shain,
これらの順序付けられたキーは、メモリまたはHDFSファイルに保存されていますか?
追加された 著者 David,
このファイルを一度HDFSに保存すると、HFile内でどのようにレコードまたは順序付けられたキーを順番に保持できますか?質問を編集して例を追加しました。
追加された 著者 David,
そのmemstoreはどこにありますか?名前は?
追加された 著者 David,
私は見る... hbase.hregion.memstore.flush.sizeのデフォルトは64MBなので、これはデフォルトのHDFSブロックサイズと一致するように設定する必要があると仮定していますか?
追加された 著者 David,
外の考え、ねえ?私はSteven Noelsと最後にHadoop Worldのビールを持っていました。
追加された 著者 David,