1、概述
Hbase是一个分布式的、面向列的开源的kv数据库。
在2006年发起,是BigTable的山寨产品,07年成为Hadoop的子项目。在10年成为Apache的顶级项目。
众多社区的参与使得Hbase逐渐完善,在很多公司中使用。
Hbase的稳定性一直是个问题,但是使用它的还是很多。主要是因为其实际的存储模型能够与实际的业务匹配程度高相关的。
2、Hbase特点
--- Key-Value类型的DB
仅仅适合对单一key的增删改查,以及扫库操作(扫全库 或者 扫一部分范围)。
数据按照key的字典序的顺序存储在管理实体中(存储方式并不复杂)。
---- 列式存储
区别传统数据库,建表时Schema必须要完善;而Hbase对Schema限制很少。
因为Hbase来源于Bigtable,存储网页数据,由于网页数据的稀疏特性(稀疏键值存储),有特殊的需求,即可以自由添加字段。对半结构化数据非常有用
---- 线性扩展
有点相比于传统数据库,这是任何分布式数据库系统的特征;
可以处理上P的数据
---- 高可用
设计运行在廉价的PC上,无单点问题
---- 强一致性
不同于最终一致性哈;强一致性要求低延时。
3、数据模型
行:同一个Key对应的所有数据,行数量不设上限
列族:
--- 相似的列数据通常被划分为一个列族(如何划分呢?)