HDFS对象存储的版本管理设计

本文探讨了Ozone对象存储的版本管理设计,包括简单的数据历史版本管理方案、HDFS快照的差异数据存储以及Ozone当前不支持版本的架构。Ozone的版本管理设计中,数据以块为单位,每个版本对应一个块,通过汇聚不同版本的块数据来实现版本回溯,避免空间浪费,适合大规模对象存储场景。
摘要由CSDN通过智能技术生成

前言


前篇文章,笔者已经大致介绍了目前HDFS对象存储服务Ozone内部的基本架构。本篇文章,笔者继续带领大家学习Ozone。今天笔者所主要阐述的主题是:Ozone的对象版本管理。版本管理是一个很实用的需求,用户往往对于一份数据会有历史版本保存的需求,不仅仅说只是为了防止未来的时候会回退到这个版本的数据。本文我们就来看看Ozone是如何支持这个功能的。目前此功能尚未开发,还处于初始设计阶段,但是并不妨碍我们对这套设计做一个预先学习。

数据历史版本管理简单方案


在这里,我们假设脱离于本文内容,做这样一个思考:如果我们要做数据的版本管理,我们可以怎么做?下面是笔者想到的一种比较直接又显得比较low的方法:

每次全量存储写入新的数据,并分配一个唯一标识版本号。

以上这种方式是偏简单暴力的。它有一个很致命的缺点:完全不考虑写入数据是否与现有历史数据是重复的情况。这会带来使用空间浪费的现象。当然,有人可能会说笔者的这种想法完全是杞人忧天,我们这里的一个假设是基于用户每次存入的数据是不同的。但是话说回来,做一个完整的系统设计,我们还是需要考虑很多因素的。

类似数据版本管理方案:HDFS快照


在HDFS内部,有一个类似的数据版本管理功能:HDFS快照。笔者前面提到的可能出现重复数据的问题就是源于快照对这方面的处理。HDFS快照功能在这方面的实现可谓是下了功夫的,它的一个特点是只存入差异的数据,即发生过变更的数据文件。如果数据没有发生过没变,则快照数据返回的则是当前文件数据。这么做是有道理的,如果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值