HBase概述
HBase是基于Hadoop数据库工具,来源于Google三篇论文之一 BIGTABLE,APACHE做了开源的实现就是 HBASE 技术。
- HBase是一种 NoSQL的 非关系型数据库,其不符合关系型数据库的范式,适合存储半结构化、 非结构化的数据。
- 适合存储稀疏的数据 空的数据不占用空间
- 面向列(族)进行存储。
- 提供实时的增删改查的能力,是一种真正的数据库产品
- 可以存储海量数据,性能非常优良。可以实现 上亿条记录的毫秒级别的查询
但是不支持严格的事务控制,只能在行级别保证事务。 - 是一个高可靠 高性能 面向列 可伸缩的分布式存储系统 利用hbase技术可以在廉价的PC上搭建起大规模结构化存储集群。
- HBase利用HadoopHDFS作为其文件存储系统,利用Hadoop的MapReduce来处理HBase中的海量数据,利用Zookeeper作为协调工具。
HBase的逻辑结构
HBase使用表来存储数据,但是表的结构和特点和传统的关系型数据库有非常大的区别。
- 行键 - RowKey
- 相当于是HBase表中的主键,HBase中的所有的表都要有行键。
- HBase中的所有的数据都要按照行键的字典顺序排序后存储。
- 对HBase表中的数据的查询 只有三种方式:
根据指定行键查询
根据指定的行键范围查询
全表扫描查询
-
列族(簇) - ColumnFamily
是HBase表中垂直方向保存数据的结构,列族是HBase表的元数据的一部分,需要在定义HBase表时就指定好表具有哪些个列族,