Hbase, Hive, Pig
Hbase
采用列式存储
Hbase简介
HBase是一个分布式的、面向列的开源数据库,该技术来源于Google论文。HBase在Hadoop之上提供了类似于Bigtable的能力。
HBase的特性
伸缩性:表可以很“高”(数十亿个数据行),可以很“宽”(数百万个列)。
自动分区:当表增长时,表会自动分裂成Region,并分布到可用节点上。
线性扩展和对于新节点的自动处理:增加节点,指它指向RegionServer,Region自动负载均衡。
普通商用硬件支持
容错:HBase在Hadoop的文件系统之上,利用了Hadoop的文件系统(HDFS)提供的容错能力。
检索性能:HBase是一个数据模型,类似于谷歌的大表设计,可以提供快速随机访问海量结构化数据。
HBase数据模型
关系型数据库和Hbase对比
列族存储的概念
HBase的数据模型
列数据属性
Region
Hbase的Table中的所有行都按照row key的字典序排列
Table 在行的方向上分割为多个Region。Region是HBase中分布式存储和负载均衡的最小单元
不同Region分布到不同RegionServer上
Region分裂(Split)
行式存储和列式存储
OLTP & OLAP
OLTP
On-Line Transaction Processing(联机事务处理过程)。
也称为面向交易的处理过程,其基本特征是前台接收的用户数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果,是对用户操作快速响应的方式之一。
典型案例:银行转账
(1)对于单列,获取频率较高,就使用列式存储。
(2)如果针对多列查询,使用并行处理查询效率也是很高,可采用列式存储。
(3)对于大数据的环境,利于数据压缩和线性扩展,也可以采用列式存储。
(4)事务使用率不高,数据量非常大。
(5)对于更新某些行的频率不高,也可以选择列式存储
OLAP
On-Line Analytic Processing(联机分析处理过程)。
OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
典型案例:商品推荐
(1)关系之间的解决方案,表与表之关联大,可以采用行式存储。主键–外键
(2)强事务特性,如消费、资金的业务。
(3)如数据小于千万级,可考虑行式存储
OLTP是用于事务和查询处理
OLAP用于数据分析



