博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hbase介绍(32)
阅读量:6166 次
发布时间:2019-06-21

本文共 1161 字,大约阅读时间需要 3 分钟。

hot3.png

            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

转载于:https://my.oschina.net/Xiao629/blog/217013

你可能感兴趣的文章
[笔记]linux命令学习
查看>>
OOM总结
查看>>
【高德地图API】如何获得行政区域?如何制作行政规划图?
查看>>
浅谈.NET反射机制的性能优化 转自网络 博客园
查看>>
转:CentOS7 下 Redis4 安装与配置教程(Redis开机启动)
查看>>
JavaScript随机数
查看>>
iso8583报文自学笔记
查看>>
二分+DP+Trie HDOJ 5715 XOR 游戏
查看>>
eclipse下导入android源码
查看>>
网络传输模型(概念)
查看>>
P2619 [国家集训队2]Tree I
查看>>
重拾web开发-JavaScript复习
查看>>
windows下Redis的安装和使用
查看>>
LeetCode: Two Sum
查看>>
BigDecimal 运算
查看>>
js小技巧(收集的)
查看>>
(转载).NET中RabbitMQ的使用
查看>>
产品架构model
查看>>
echo向文件中写入
查看>>
Linux Socket 网络编程 (IBM网站)第二章
查看>>