作者:撩人过得更好 | 来源:互联网 | 2023-08-28 15:08
(1)分布式、多版本、面向列的开源数据库 (2)支持上亿行、百万列; (3)强一致性、高扩展、高可用Hbase是一个强一致性数据库,不是“最终一致性”数据库。HBase数据读
(1)分布式、多版本、面向列的开源数据库
(2)支持上亿行、百万列;
(3)强一致性、高扩展、高可用
Hbase是一个强一致性数据库,不是“最终一致性”数据库。
HBase数据读写,更新的数据是放在Memstore,只有当Memstore里的数据达到阈值,或者时间达到阈值,就会flush到磁盘上,生成HFile,而一旦生成HFile就是不可改变的。
当某一个DataNode上生成一个HFile后,就会异步更新到其他两个DataNode上(假设为3副本),这3个HFile是一模一样的。
PS:当客户端提交删除操作的时候,数据不是真正的删除,只是做了一个删除标记(delete marker,又称母被标记),表明给定航已经被伤处了,在检索过程中,这些删除标记掩盖了实际值,客户端读不到实际值。直到发生compaction的时候数据才会真正被删除。
参考文档:
HBase基本知识介绍及典型案例分析
HBase强一致性详解
浅谈Hbase多版本存储