zoukankan      html  css  js  c++  java
  • Hbase表设计

    HBase与RDBMS的区别: Hbase的cell具有版本描述(versioned),行是有序的,列(Qualifier)在所属列簇(column families)存在是,由客户端添加。

    1. Hbase中没有Joins的概念。如果要join,在设计的时候,要考虑用大表的思维解决。
    2. Row Keys设计: 主键,在region里按字母顺序排列(Byte数组)。写入的时候要分散,避免造成数据只保存在几个结点上,如order表 可以把order id 做reverse 操作用于row key。

                       注:多个条件查询,可以选择组合rowkey。

                              读取数据时候,只能按rowkey或者scan全表

             3.列簇CF设计:尽量CF的数量1-2个。设计hbase shema的时候。要尽量只有一个column family

             Flush: MemStore 中的数据达到一定的阈值,被Flush成HDFS中的HFile文件。

             Compaction: 可以把多个HFile的”交错无序状态“,变成单个Hfile的”有序状态“,降低读取时延。

                

               引:http://baijiahao.baidu.com/s?id=1596690073555129451&wfr=spider&for=pc

               案例:

                      1. 学生表,课程表,多对多。

                        RDBMS:

                        

                        Hbase:

                       

                     2. person  身份证表  1:1

                        RDBMS

                      

                      Hbase:

                      

                   3. 订单: roder表和order detail       1:N

                     RDBMS

                     

  • 相关阅读:
    php多态
    ssl certificate problem: self signed certificate in certificate chain
    test plugin
    open specific port on ubuntu
    junit vs testng
    jersey rest service
    toast master
    use curl to test java webservice
    update folder access
    elk
  • 原文地址:https://www.cnblogs.com/Jesse-Li/p/8967682.html
Copyright © 2011-2022 走看看