オープンソースの HBase API の制限により、HBase API に精通しているユーザーのみがセカンダリインデックスを使用することをお勧めします。Lindorm SQL 機能を実装してセカンダリインデックスを使用することをお勧めします。
概要
ApsaraDB for HBase は、rowkey(プライマリキー)のインデックス作成をサポートしており、rowkey のバイナリ順に基づいて行をソートできます。 rowkey インデックス作成に基づいて、行スキャン、プレフィックススキャン、および範囲スキャンを効率的に実行できます。ただし、rowkey 以外の列に基づいてテーブルをクエリする場合、フィルターを使用して rowkey の範囲を絞り込む必要があります。そうしないと、テーブル全体がスキャンされます。これはリソースを浪費し、応答時間を増加させます。
ユーザーが多次元で HBase データをクエリするための多くのソリューションが提供されています。たとえば、クエリ対象の列に基づいてセカンダリインデックステーブルを作成できます。この場合、セカンダリインデックステーブルを維持する必要があります。また、Solr や Elasticsearch などの外部システムにデータをエクスポートしてから、データをインデックス化することもできます。
ただし、少数の列に基づいて一般的なクエリを実行する場合は、Solr や Elasticsearch などの検索エンジンを使用しないことをお勧めします。これはリソースの無駄です。ApsaraDB for HBase パフォーマンス強化版は、ネイティブのセカンダリインデックスを使用して HBase データを低コストでクエリするソリューションを提供します。セカンダリインデックスは ApsaraDB for HBase に組み込まれており、高スループットとパフォーマンスをサポートします。このソリューションは、アリババグループのダブル 11 ショッピングフェスティバルなどのビジネスで長年テストされています。大量のデータのインデックス作成に適しています。