nosql汇总

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引入的概念,多个列可以合并到一个列组里面