HBase起源
2006年Google发布了一篇叫做BigTable:A Distributed Storage System for Structured Data的论文。BigTable是一个分布式存储系统,利用谷歌提出的MapReduce分布式并行计算模型来处理海量数据,使用谷歌分布式文件系统GFS作为底层数据存储,并采用Chubby提供协同服务管理,可以扩展到PB级别的数据和上千台机器,
特点:具备可扩展性、高性能和高可用性
存储结构
HBase采用key-value的形式存储数据,最基本的存储单位是列(column)一个列或者多个列形成一行(row),若干行又组成了一张表(table)。
每行中的若干个列又可以被归类为一个列族(column family)。创建表的时候不需要指定列,但是需要指定列族。HBase中的列是很灵活的,可以在插入数据的时候再去添加
如果插入数据的时候使用了以前已经存在的row key,那就会把之前的列值给更新掉。更新的时候,之前的值不会被覆盖,而是把新值也放到这个单元格中。
集群架构
一般HBase集群有一个HMaster服务器和几个HRegionServer服务器。HMaster服务器负责维护表的结构信息,HRegionServer服务器负责存储数据
Store由两部分构成,一部分是MemStore,一部分