Hbase-06-Snapshot原理

强力推荐《Hbase 实现与原理》这本书。

snapshot不会拷贝数据,可以理解为它是原数据的一个指针。

我们知道Hbase数据文件一旦落到磁盘之后就不允许更新删除等原地修改操作。只能追加写入新的文件。。这种机制下实现某个表的snapshot只需要给当前表的所有文件分别新建一个引用(指针),其他新写入的数据重新创建一个新文件写入即可。如下图所示:

snapshot流程

snapshot流程主要涉及3个步骤:

  1. 加一把全局锁,此时不允许任何的数据写入更新以及删除

  2. 将Memstore中的缓存数据flush到文件中(可选)

  3. 为所有HFile文件分别新建引用指针,这些指针元数据就是snapshot

两阶段提交原理

参考:
http://hbasefly.com/2017/09/17/hbase-snapshot/

posted @   sixinshuier  阅读(155)  评论(1编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示