HBase是一个基于列的NoSQL数据库,它提供了两种类型的索引:全局二级索引(Global Secondary Index,简称GSI)和局部二级索引(Local Secondary Index,简称LSI)。
创建GSI的示例:
create 'my_table', {NAME => 'cf1'}, {NUMREGIONS => 3, 'INDEX_TABLE' => 'my_table_gsi', 'INDEX_COLUMN_FAMILY' => 'cf2', 'INDEX_COLUMN_QUALIFIER' => 'id', 'INDEX_TYPE' => 'HASH'}
创建LSI的示例:
create 'my_table', {NAME => 'cf1'}, {NUMREGIONS => 3, 'INDEX_TABLE' => 'my_table_lsi', 'INDEX_COLUMN_FAMILY' => 'cf1', 'INDEX_COLUMN_QUALIFIER' => 'name', 'INDEX_TYPE' => 'HASH'}
需要注意的是,创建和使用索引会带来一定的性能开销,因为索引本身也需要存储和维护。在选择使用索引时,需要权衡查询性能和存储开销。