hbase—快照性能

x8diyxa7  于 2021-06-09  发布在  Hbase
关注(0)|答案(1)|浏览(517)

我正在研究一个用例,在这个用例中,我们需要在hbase中对一个表进行几个快照(80-100),我们称之为“数据”。我们需要在任何给定时间从这些快照中读取数据的能力。因此,我们需要克隆快照并将其用作新表(例如“data\u v01”、“data\u v02”等)。我无法确定多个快照是否会影响原始“data”表的性能。
从我阅读hbase文档所了解到的情况来看,hbase不会在拍摄快照或从快照创建新表(“克隆”)时复制数据。在我看来,hbase创建了一组基本的hfiles,然后以类似wal的形式跟踪更改。如果这是真的,并且基本快照已经存在100天了,这意味着更改将非常多。我的理解正确吗?除此之外,我找不到太多的参考资料https://hbase.apache.org/book.html#ops.snapshots

mum43rcc

mum43rcc1#

您可能已经知道,hbase的一致性是由 HFile 以及 WAL 文件夹。快照只是快照时表中所有hfiles的列表(无论快照是否强制wal和memstores刷新)。这就是为什么快照创建起来既快又便宜的原因—它所做的只是保存一个文件路径列表。这意味着压缩时不能删除文件,而是移动到归档文件夹,直到没有快照引用它们(非常类似于gc)。在某些情况下,这可能会导致存储开销。
我无法确定多个快照是否会影响原始“data”表的性能。
从快照创建表与原始表无关。两个表可能共享一些hfiles的事实没有任何意义,因为hfiles是不可变的。
…(如果)基本快照已存在100天,这意味着(数据已过时)
是的,这是正确的。快照将只看到创建时存在的hfiles。

相关问题