欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

Hbase表设计

发布时间:2025/3/15 30 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Hbase表设计 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

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

  • Hbase中没有Joins的概念。如果要join,在设计的时候,要考虑用大表的思维解决。
  • 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

                     

     

    转载于:https://www.cnblogs.com/Jesse-Li/p/8967682.html

    总结

    以上是生活随笔为你收集整理的Hbase表设计的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。