Hbase是一个高可靠,高性能,面向列,可伸缩的分布式数据库,利用Hbase的技术可以在廉价的PC上搭建起大规模的结构化存储集群。Hbase参考Google的BigTable建模,使用类似GFS的HDFS作为底层文件存储系统,在其上可以运行MapReduce批量处理数据,使用zookeeper作为协同服务组件。
Hbase是一种非关系型数据库,即NOSQL数据库,可以通过行健(RowKey)检索数据,仅支持单行事物,主要用于存储结构化和非结构化的松散数据。
传统数据库:
1.数据是按照行存储的
2.没有索引的查询会产生大量的IO
列式数据库:
1.数据是按照列单独存放
2.只查询涉及的列,可以大量降低查询IO
Hbase数据库的核心组件:客户端,协调服务模块ZK,主节点HMaster和Region节点RegionServer
架构图:
客户端:是整个Hbase系统的入口,使用者通过客户端与Hbase集群进行数据的交互。客户端使用Hbase的RPC机制与HMaster与RegionServer进行通信,对于管理类的操作,Client与HMaster进行通信;对于数据的读写操作,客户端与RS进行通信
协调服务组件ZK:存储元数据信息,监控RS,存储所以region的寻址入口
Hbase快照就是一份元数据信息,允许管理员恢复到表的先前状态.快照不是表的复制而是一个文件名称列表,因为不会复制数据.