Hbase介绍(32)

原创
2014/04/03 22:35
阅读数 128

            HBase是一个NoSQL的数据库产品,用于解决海量数据的毫秒级简单查询的问题.

            HBase的特点:

                                表(table)--用于存储数据的,数据也是存放在表中.

                                行(row)--嵌套的说法.

                                行键(row key)--类似于主键,也是用于区分每一行的.

                                列簇(column family)--列的集合.

                                列(column)--相当于RDBMS中的字段.

                                单元格(cell)--单元格用于存储数据的.

                                多个版本的数据--带有时间戳的数据.

                                hbase中的数据都是字节数组存储的,所以比较时按照一个个字节比较.

                                hbase中的记录是按照rowkey排序存储的.

                                hbase中的列簇根据大小划分为很多的region,不同的region可以存储在不同的region服务器中.那么

                                海量数据的查询就可以转换为并行查询了.

                                预分区操作是指的是在建表的时候,预先划分成指定数量的region,插入数据时均匀的分散到不

                                同的region中.

                                在hbase中,有一张表叫做.META.,里面存储的是用户表的regionserver与rowkey的映射关系.

                                在hbase中,有一张表叫做-ROOT-,里面存储的是.META.的rowkey与regionserver的映射关系.

                                表示hbase某张表中的一行记录,看rowkey确定一行记录.

                                行中有很多列,这些列分到很多列簇中存储.

                                每一行列簇是一个独立的存储文件.

关于Hbase的一些提问:

            问:为什么一行记录含有多个时间戳的值?

            答:因为这样能够体现聚合的思想,实际上体现了RDBMS中的一对多问题.

            问:为什么一行记录按照列簇分成独立的物理文件存储,而不是一行记录全部放到一起存储?

            答:因为查询时,一行记录并不是全部字段都需要,只需要一部分字段.如果一行记录所有字段的值放在一起的

                   话,那么一次性读取所有字段,显然很浪费.分别存储的话,一次查询只需要少量字段,那么整体的查询

                   吞吐量就会提高.

            问:建立索引时为什么key是regionserver,value是rowkey,而不是相反的哪?

            答:因为rowkey的数量太大了,按照上面的方式建立索引的话,映射数据流就太大.

            问:设计rowkey是hbase表设计中的重点?

            答:(1)因为hbase查询默认是按照rowkey查询,因此业务上最需要的查询条件应该设计到rowkey的组成中.

                   (2)因为hbase表分区的话,那么再插入数据的时候容易产生热点,为了避免热点,插入数据应该尽可能

                       随机,需要主要rowkey的设计,最好是rowkey的开始节点都是随机的或者接近随机的.


                                                                                                                                    Name:Xr

                                                                                                                                    Date:2014-04-03 22:35

展开阅读全文
打赏
0
2 收藏
分享
加载中
更多评论
打赏
0 评论
2 收藏
0
分享
返回顶部
顶部