これはばかげた質問かもしれませんが、Hbase で行キーを "インデックス化" する方法がわかりませんでした。行キー - つまり、行キーを自動的に主キーとして扱いますか?
ありがとう!
テーブルは、キーによってインデックス付けされるだけでなく、実際にはキーによって辞書式順序に並べられます。つまり、Hbaseは、各キーを検索するリージョンサービスと、そのリージョンサーバー内のリージョンと特定のHFileを認識しています。HFileに書き込まれるデータは、キー順に並べられています。
辞書式順序は、部分キーでデータを取得することもできることを意味します(たとえば、「a」のスキャン)。「a」で始まるすべてのものが取得されます。これは、キーに複数のディメンションを配置するために多くの時間を使用します。たとえば、キーを国に設定し、次に都市に設定して、国ごとの集計を取得し、都市ごとの内訳を効率的に取得できます。
はい、テーブルは行キーを介して並べ替えられます。また、クライアントは行キーの範囲を含むリージョンサーバーIDを取得できるため、必要な行キーを含むリージョンサーバーに直接接続できます。さらに、キーは順序付けられたバイト配列であるため、リージョンサーバーはバイナリ検索を実行して、含まれている行のリストから行を取得できます。これにより、ランダム検索が非常に効率的になり、連続する行のスキャンが非常に効率的になります。