1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
hbase教程

第三节 nosql——hbase 为什么要用HBase ? 1.数据集成长为tb和pb级 2.横向扩展(增加节点)比扩容便宜,通过添加节点即可适应数据的持续增长 *出于同样的原因,我们需要Hadoop,但有时Hadoop是不够的 3.需要支持随机读取和随机写入 4,传统数据库扩容很昂贵,而且数据很难分发(分布式计算) HBase是什么? ?分布式 ?列式数据库 ?多维 ?高可用性 ?高性能 ?存储系统 目标:十亿行*数百万列*成千上万的版本 Pb级数据分布在成千上万的服务器节点上 HBase不是… 不是传统的SQL数据库 ——没有连接,没有查询引擎,没有类型,没有SQL ——有事务和二级索引,但这些是插件,而不是HBase的核心部分 ?作为RDBMS的替代? 必须了解RDBMS 相反的模式 ——非标准的数据 ——表格很宽,数据分布稀疏 HBase是如何工作的呢? 两种类型的HBase节点: Master管理节点和RegionServer分区节点 ?master(只有一个管理节点) ——管理集群的操作?任务调度、负载平衡、数据分裂 ——它不负责读/写数据 ——通过ZooKeeper and standbys(备用服务器)实现高度可用性 ?RegionServer(一个或多个) ——存表格的节点:执行读取、缓冲写 ——与客户端直接点对点进行读/写 HBase表 ?一个HBase集群是由任意数量的用户定义的表组成 ?表模式只定义列族 ——每个列族包含任意数量的列 ——每一列包含任意数量的版本 ——列只在插入时才产生,空值不占用空间 ——除了表名和列族名外,所有的数据都是字节存储 ——表中的行已被排序,顺序存储 ——列族里列也被排序,顺序存储 (表、行、列族、列,时间戳)?值 HBase表数据结构 ?一张表里行的映射与其列族是一个有序映射关系 ——SortedMap(row?list(ColumnFamilies)) ?一个列族里的列名与版本值是一个有序映射关系 ——SortedMap(column?SortedMap(Versioned Values)) ?一列里时间戳与值是一个有序映射关系? ------SortedMap(Timestamp ?Value) HBase表是一个三维有序的映射表 ?SortedMap(RowKey,List(SortedMap(Column,?List(?SortedMap (Timestamp, Value)) ) )) – rowKey (ASC) + columnLabel(ASC) + Version (DESC) -- value? 行键升序 列族:列名 时间戳 value row=row0, column=anchor:bar, timestamp=1174184619081 …… row=row0, column=anchor:foo, timestamp=1174184620720 row=row0, column=anchor:foo, timestamp=1174184617161 row=row1, column=anchor:bar, timestamp=1174184619081 row=row1, column=anchor:foo, timestamp=1174184620721 row=row1, column=anchor:foo, timestamp=1174184617167 row=row2, column=anchor:bar, timestamp=1174184619081 row=row2, column=anchor:foo, timestamp=1174184620724 row=row2, column=anchor:foo, timestamp=1174184617167 特点 良好的压缩比。由于大多数数据库设计都有冗余,如此一来,压缩比非常高,把40多M的数据导入infobright,没想到数据文件只有1M多 列上的计算非常的快。 方便MapReduce和Key-value模型的融合 读取整行的数据较慢,但部分数据较快 HBase Regions ?表由任意数量的Regions 组成 ?regions用startKey和endKey来标记 ——空表: (Table, NULL, NULL) ------两个region表: (Table, NULL, “MidKey”) and (Table,

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档