




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、HBase(一)内容HBase介绍HBase在hadoop生态中的位置HBase优缺点HBase体系结构HBase表逻辑结构HBase是什么HBaseHadoop Database建立在HDFS之上的数据库系统分布式存储松散数据HBase是Google Bigtable的开源实现HBase特点大:单表可以数十亿行,数百万列无模式:同一个表的不同行可以有截然不同的列面向列:存储、检索均面向列稀疏:空列不占用存储,表可以设计的非常稀疏多版本:每个单元中的数据可以有多个版本,默认情况下版本号是单元格插入时的时间戳数据类型单一:数据都是字符串,没有类型HBase在hadoop生态体系中的位置HBase
2、在hadoop生态体系中的位置HBase VS HDFS两者都具有良好的容错性和扩展性,都可以扩展到成百上千个节点HDFS适合批处理场景不支持随机查找不支持数据更新HBase是对HDFS很好的补充HBase VS Hive两者都有表、数据库等概念两者都依赖HDFS做存储支持Hive为统计分析而生HBase要满足实时查询需求Hive面向计算层面HBase面向存储需求HBase优点高可靠面向列(列存储)高性能可伸缩(自动切分、迁移)可扩展,增加计算和存储能力HBase缺点仅能通过行键和行键序列来检索数据仅支持单行事务HBase列存储列存储较适用于:海量数据中只需要访问某几个列的数据海量数据中某几列
3、的统计计算需要经常对表结构新增字段列中有较多的重复数据,可以提高压缩率HBase体系结构HBase体系结构遵从主从服务器架构,由RegionServer和Master构成Master负责管理所有的RegionServer所有服务器通过Zookeeper协调,并处理服务器运行期间可能遇到的错误HBase体系结构重要概念HBase ClientMasterRegionServerZookeeperHBase ClientClient使用RPC与Master和RegionServer通信管理类操作,Client与Master通信数据读写类操作,Client与RegionServer通信Client读
4、写HBase上数据不需要与Master交互,只需要寻址访问Zookeeper和RegionServerClient维护着Region的位置信息加快对HBase的访问Master为RegionServer分配Region负责RegionServer的负载均衡在Region Split后,负责新Region的分配发现失效的RegionServer,并重新分配其上的Region仅仅维护Table和Region的元数据信息,负载很低RegionServer管理Master分配给它的Region处理Client的I/O请求,数据保存在HDFS中负责切分在运行过程中变得过大的RegionZookeeper
5、保证任何时候,集群中只有一个Active Master存储所有Region的寻址入口实时监控RegionServer的状态,将RegionServer的上下线信息实时通知给MasterHBase体系结构问题HBase运行环境中有哪几类节点HBase表逻辑结构HBase表逻辑结构每个column family存储在HDFS上的一个单独的文件里Rowkey和version在每个column family里均有一份HBase表逻辑结构重要概念RowkeyColumnFamilyCellVersionHBase表Rowkey主键三种访问HBase表中数据方式:通过单个rowkey访问、通过rowkey
6、序列访问、全表扫描每一行rowkey必须是唯一的rowkey可以是任意字符串(最大长度是 64KB),在HBase内部, rowkey保存为字节数组HBase表Rowkey数据按照rowkey的字典序顺序存储设计rowkey时,充分利用排序存储特性,将经常一起读取的行存储到一起不要把业务发生时间直接作为rowkey,导致全部存储到一个regionserver中可以在时间戳前面加上散列值,设计成“散列值+时间戳”的形式HBase表ColumnFamilyHBase中的每个列,都归属某个列族列族是表元数据的一部分(而列不是),必须在使用表之前定义列是在插入数据时动态增加的列名都以列族作为前缀,即列
7、族:标签,如info:qq , info:weibo 都属于info这个列族物理上同列族数据存储在一起最好将具备共同IO特性的列放在一个列族中HBase表Cell通过行键和列唯一确定的一个存储单元Cell中可能包含多个版本的数据Cell中数据是没有类型的,全部是字节码形式存储HBase表Version每行数据可以有多个版本Version默认是TimeStamp(精确到毫秒的当前系统时间),由HBase 在数据写入时自动赋值Version也可以由客户显式赋值不同Version的数据按Version倒序排序,即最新的数据排在最前面获取数据时不指定Version,默认取最新的数据HBase表Version数据存在过多版本造成存储负担HBase提供两种数据版本回收方式保存数据的最后n个版本保存最近一段时间内的版本(如最近七天)用户可以针对每个列族进行设置HBase表表定义时,应指定表名、列族表中列族固定,列名可以在插入数据时指定行健,列族+列名可以指定一个表中的Cell一个Cell可以存储多版本数据表中所有信息都是二进制形式存储没有关系表中那
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论