HBase笔记(一)

1.HBase的结构包括行值(唯一,类似于RDBMS的主键)、列族和列。列族中可以拥有多个列,列的值包含时间版本(默认拥有最近3个时间版本的值)
如果用Java容器进行描述,则非常清晰:Map<RowKey,Map<ColumnFamily,Map<ColumnQualifier,Map<Version,Data>>>>


2.HBase包括WAL和Memstore。写入的数据会缓存在Memstore中,当累计到一定量时,再刷到硬盘上;为了防止故障造成的数据写入失败,在失败后会根据WAL恢复写失败的数据。


3.HBase的列族拥各自的HFile集合,所以读取相应列族的数据时,只会加载相应HFile的数据,从而保证读写效率。


4.在HBase中删除数据是,不会真实删除,只会标记(墓碑);数据会在进行大合并时删除。


5.HBase并非ACID兼容的数据库,它单行操作是ACID的,跨行不是。

你可能感兴趣的:(HBase笔记(一))