随笔 - 16  文章 - 0  评论 - 0  阅读 - 3346

HBase二级索引

Phoenix 二级索引

可以将全表扫描优化为范围扫描

全局索引

将全表扫描转化为范围扫描。

额外创建一个表,作为索引表。

当创建了全局索引,先去利用算法找所要查询的列,

  • 默认的索引格式
  • 创建全局索引时,会在HBase中建立一张新表。
  • 索引数据和数据表是存放在不同的表中。
  • 全局索引适用于多读少写的场景。
    • 写数据时要更新索引表,索引表是分布在不同的数据节点上,跨节点传输带来了较大的性能消耗。
  • 只有在查询索引列时才会带来效率提升。
    • 解决办法:包含索引、本地索引

局部索引

创建索引时,携带其他字段的全局索引

create index my_idx on my_tb (v1) include (v2);

本地索引

  • 本地索引适用于写操作频繁的场景。
  • 索引数据和数据表的数据存放在同一张表中(而且是同一个Region),避免在写操作的时候往不同服务器的索引表中写索引带来的额外开销。
  • 可以指定多个列
  • 本地索引会将所有的信息存放于一个影子列族中,读取的时候也是范围扫描,但是没有全局索引快,优点在于不用写多个表了。

posted on   茶倌  阅读(281)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示