質問: HBaseによるインデックスの管理方法 HDFSが読み取り専用(または基本シナリオで追加可能)の場合、順序付きインデックスをどのように維持できますか? インデックスをHDFSや永続的なストアに保存していますか? [編集]例の目的のために、私が行F B A Eをこの順序で追加したとしましょう。 HDFSは追加することしかできないので、ディスク上の行の順序は挿入順序と同じになると思われます。しかし、どのようにインデックスを維持しているのですか? - キーを格納した領域は追記型であるためです。
回答: 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: and here and here