- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
HBase文档概要1
HBase是Bigtable的开源山寨版本。是建立的HDFS之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统。
它介于NoSQL和RDBMS之间,仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务。主要用来存储非结构化和半结构化的松散数据。
与Hadoop一样,HBase目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。
HBase的特点
HBase中的表一般有这样的特点:
1 大:一个表可以有上亿行,上百万列
2 面向列:面向列(族)的存储和权限控制,列(族)独立检索。
3 稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏。
HBase的存储结构
目录表(Catalog Tables):目录表-ROOT-和.META.作为HBase表存在。他们被HBase shell的list命令过滤掉了,但他们和其他表一样存在。-ROOT-保存.META.表存在哪里的踪迹。.META.保存系统中所有region列表。包含访问ase的接口,client维护着一些cache来加快对hbase的访问,比如regione的位置信息-目录表。然后再确定region的位置。定位到所需要的区域后,客户端会直接 去访问相应的region(不经过master),发起读写请求。这些信息会缓存在客户端,这样就不用每发起一个请求就去查一下。如果一个region已经废弃(原因可能是master load balance或者RegionServer死了),客户端就会重新进行这个步骤,决定要去访问的新的地址。
ZooKeeper:保证任何时候,集群中只有一个master;存贮所有Region的寻址入口;实时监控Region Server的状态;将Region server的上线和下线信息实时通知给Master;存储Hbase的schema,包括有哪些table,每个table有哪些column family。
HMaster:为Region server分配region负责region server的负载均衡发现失效的region server并重新分配其上的regionFS上的垃圾文件回收处理schema更新请求master通常是运行在一个NameNode上的。
HRegionServer:Region server维护Master分配给它的region,处理对这些region的IO请求Region server负责切分在运行过程中变得过大的regionTable(HBase table)
Region(Regions for the table)
Store(Store per ColumnFamily for each Region for the table)
MemStore(MemStore for each Store for each Region for the table)
StoreFile(StoreFiles for each Store for each Region for the table)
Block(Blocks within a StoreFile within a Store for each Region for the table)
可以看到,client访问ase上数据的过程并不需要master参与(寻址访问zookeeper和region server,数据读写访问regione server),master仅仅维护者table和region的元数据信息,负载很低。-ROOT-保存.META.表存在哪里的踪迹,.META.保存系统中所有用户表的region列表。这些信息保存在ZooKeeper中,Client在连接HBase后会将这些信息缓存起来,以减少网络通信的压力。
key3 apple lisi 10010 Row Key
与NoSQL数据库们一样,row key是用来检索记录的主键。访问HBase table中的行,只有三种方式:
1)通过单个row key访问
2)通过row key的range
3)全表扫描
Row key行键 (Row key)可以是任意字符串(最大长度是 64KB,实际应用中长度一般为 10-100bytes),在hbase内部,row key保存为字节数组。存储时,数据按照Row key的字典序(byte order)排序存储。设计key时,要充分排序存储这个特性,将经常一起读取的行存储放到一起。行的一次读写是原子操作 (不论一次读写多少列)。这个设计决策能够使用户很容易的理解程序在对同一个行进行并发更新操作时的行为。
列族
在HBa
文档评论(0)