habase
什么是HBase
HBASE是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBASE技术可在廉价PC Server上搭建起大规模结构化存储集群
HBASE是Google Bigtable的开源实现
hbase能力
海量数据存储
上百亿行 x 上百万列
并没有列的限制
当表非常大的时候才能发挥这个作用, 最多百万行的话,没有必要放入hbase中
准实时查询
百亿行 x 百万列,在百毫秒以内
应用场景
交通方面
船舶GPS信息,全长江的船舶GPS信息,每天有1千万左右的数据存储。
金融方面
消费信息,贷款信息,信用卡还款信息等
电商
淘宝的交易信息等,物流信息,浏览信息等
移动
通话信息等,都是基于HBase的存储。
和传统RDBS对比
容量大
传统关系型数据库,单表不会超过千万,超过要做分表分库,不会超过30列
Hbase单表可以有百亿行、百万列,数据矩阵横向和纵向两个维度所支持的数据量级都非常具有弹性
面向列
面向列的存储和权限控制,并支持独立检索,可以动态增加列,即,可单独对列进行各方面的操作
列式存储,其数据在表中是按照某列存储的,这样在查询只需要少数几个字段的时候,能大大减少读取的数量
稀疏性:
为空的列并不占用存储空间,表可以设计的非常稀疏。
不必像关系型数据库那样需要预先知道所有列名然后再进行null填充
拓展性
HBase是基于HDFS的,具有HDFS的优势:存在多个副本,数据安全性高,普通商用PC或Server就可以,而RDBMS的服务器都很贵
相关概念
1) RowKey: 行键,可理解成MySQL中的主键列。
2) Column: 列,可理解成MySQL列。
3) ColumnFamily: 列族, HBase引入的概念,多个列可以合并到一个列组里面