zoukankan      html  css  js  c++  java
  • 关于HBase中读多写多得不同应用场景

    一、关于索引方面的作用:

    不管是本地索引还是全局索引,在功能上没有任何差别,都是为了加快某个列的查询!

    适合的情景不同!

    因为当向hbase的表中插入数据时,数据在更新时,也需要更新索引!

    本地索引:

    索引以列族的形式存储在表中,在更新数据和更新索引时,只需要向数据所在的regionserver发请求即可!适合多写的场景!

    全局索引:

    索引以表的形式存储在hbase中,索引所在的region,也是由一个regionserver负责的!

    如果表中的数据由102的rs负责,索引所在的region由103的rs负责!

    在插入数据时,需要向102的rs发请求,还需要向103的rs发送写请求!

    在多写少读的场景下,加重了rs的请求压力和网络负载!

    适合的是多读的场景!

    二、RowKey设计时

    在做Rowkey设计时,请先考虑业务是读比写多、还是读比写少,HBase本身是为写优化的,即便是这样,也可能会出现热点问题,而如果我们读比较多的话,除了考虑Rowkey设计原则外,还可以考虑HBase的Coprocessor甚至elastic search结合的方法,无论哪种方式,都建议做实际业务场景下数据的压力测试以得到最优结果。
  • 相关阅读:
    【题解】【HDU 3487】Play with Chain
    学习+复习目标
    【题解】【NOIP2018PJ】对称二叉树
    NOIP2018复赛游记
    论蒟蒻的作死程度
    教你如何不用新分区添加swap
    云主机的极致优化
    Linux权限管理 特殊权限解析
    用户组管理
    vim编辑器详解
  • 原文地址:https://www.cnblogs.com/atBruce/p/12555464.html
Copyright © 2011-2022 走看看