用户名
Email
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
帖子
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
大数据
›
数据仓库与分析
›
快照技术对比学习
快照技术对比学习
美食家大橙子
金牌会员
|
2024-7-19 13:57:58
|
显示全部楼层
|
阅读模式
楼主
主题
941
|
帖子
941
|
积分
2823
本文分享自天翼云开发者社区《
快照技术对比学习
》,作者:z****n
1
.
快照的分类
根据 SNIA 的定义, 快照有全量快照 (full snapshot) 和增量快照 (incremental snapshot) 两种类型。
2
.
全量快照
克隆(Clone):
与备份操作类似,克隆技术是一种数据复制和规复的方法,用于创建源数据的完全副本。将源数据的所有信息和状态以二进制形式进行备份,并在需要时将其规复到相同或另一个体系中。克隆对象可以是存储卷、文件体系或者LUN,优势在于它提供了完全一致和独立的复制,不受源体系的影响。缺点就是在创建时要完整的复制一份数据,需要占用和源数据空间一样大的存储空间,资源成本高,消耗时间长。
镜像分离(Split Mirror):
镜像分离也属于全量快照,先创建源卷的一个镜像卷,每次磁盘写入数据的时候,都会向源卷和快照卷同时写入内容。当启动快照时,镜像卷能快速脱离,直接生成一个快照卷。因此镜像分离在读操作时没有任何影响,在写操作时会有两次写入操作,分别写入源卷与镜像卷。
3
.
增量快照
3
.
1
写时拷贝(Copy-On-Write,CoW):
在源卷之外创建一个快照卷,用于存放快照数据。
写数据
:
1、写入请求:当需要对原始数据进行写入操作时,体系首先创建一个新的空白数据块(或称为写时复制快照),并将写入请求发送到该新数据块。
2、数据复制:体系将需要被修改的数据块从原始数据中复制到新的写时复制快照中,这样可以确保原始数据不会被修改。
3、修改写时复制快照:在写时复制快照中进行实际的数据修改操作,即将写入请求应用于写时复制快照。
4、更新快照指针:完成写入操作后,体系更新增量快照指针,使其指向新的写时复制快照,以反映最新的数据状态。
读数据
:
1、初始状态:增量快照指向原始数据。
2、读取请求:当有读取请求时,体系检查增量快照指针。
3、检查增量快照:如果读取请求的数据在增量快照中存在,体系直接从增量快照中读取相应的数据,并返回给请求方。
4、查找原始数据:如果读取请求的数据不在增量快照中,体系将查找原始数据。
5、读取原始数据:体系根据读取请求定位到原始数据,并返回相应的数据给请求方。
优点:
CoW在写入操作时,不直接修改原始数据,而是创建副本并在副本上进行修改。这样可以淘汰对原始数据的复制操作,因此CoW快照创建非常快。其次,CoW确保了数据的完整性和一致性,原始数据始终保持不变,只有在写入操作完成后,新的数据副本才会出现。同时CoW可以节省存储空间。由于只有在数据块被修改时才复制数据,多个副本可以共享未修改的数据块,淘汰了存储空间的占用。
缺点:
降低源数据卷的写性能,因为每次改写新数据,实际上都进行了两次写操作。
应用场景:
CoW技术提供了空间效率、写入性能和数据完整性的优势,适用于需要高效存储、备份和规复数据的场景。因此在虚拟化、容器化、数据备份、文件体系和数据库管理等领域得到广泛应用。
3.
2
写时重定向(Redirect-On-Write,RoW)
写数据:
1、初始状态:RoW技术在初始状态下指向原始数据。
2、写入请求:当有写入请求时,体系首先检查RoW指针。
3、创建副本:如果RoW指针指向原始数据,体系会创建原始数据的副本。
4、修改副本:体系在副本上进行修改操作,而不会对原始数据进行任何更改。
5、更新RoW指针:当修改操作完成后,体系会更新RoW指针,使其指向新创建的副本。
6、更新元数据:体系会更新相关的元数据,如指针或索引,以反映新的数据位置。
读数据
:
1、初始状态:RoW技术在初始状态下指向原始数据。
2、读取请求:当有读取请求时,体系会根据读取操作所需的数据确定读取路径。
3、检查RoW指针:体系首先检查RoW指针。
4、判定读取路径:根据RoW指针的状态,有两种可能的读取路径:
1)如果RoW指针指向原始数据,则体系直接读取原始数据。
2)如果RoW指针指向副本数据,则体系需要跟踪回溯到原始数据,并读取经过修改的副本数据。
5、读取数据:根据所确定的读取路径,体系从相应的位置读取数据。
1)如果RoW指针指向原始数据,体系直接从原始数据位置读取数据。
2)如果RoW指针指向副本数据,体系通过回溯到原始数据并按照修改路径读取副本数据。
优点:
RoW技术避免了对原始数据的复制,只在修改发生时创建副本,因此具有较高的空间效率。其次办理了CoW快照写两次的问题,就写性能而言RoW是优于CoW 的。RoW技术通过在副本上进行修改而不直接修改原始数据来保持数据的完整性和一致性。RoW技术可以通过跟踪回溯到原始数据来实现快速规复和数据保护。
缺点:
RoW技术在读取操作时可能需要进行回溯操作以获取经过修改的副本数据,这可能略微降低读取性能。RoW没有一个完整的快照卷,其快照之间的关系是链式的,如果快照层级越多,进行快照规复时的体系开销会比较大。
应用场景:
RoW技术适用于需要高效存储、备份和规复数据的场景。它提供了空间效率、写入性能和数据完整性的优势,因此在虚拟化、容器化、文件体系和数据库管理等领域得到广泛应用。
在传统存储场景下,RoW技术存在一个紧张问题,即对读取性能的影响较大。随着多次读写操作的进行,源数据卷中的数据会变得非常离散,这导致RoW在一连读取和写入性能方面不如CoW。因此,RoW更适用于写入密集型的存储体系。然而,在分布式存储的情况下,RoW的一连读写性能却会超过CoW。在传统存储场景中,读写性能的瓶颈通常出现在磁盘上,但这种瓶颈在分布式存储场景中不存在。在业务层面上,用户看到的是一连存储,实际上数据分布在不同服务器的不同硬盘上,数据越分散,体系性能越高。RoW技术将源数据卷中的原始数据打散后,反而对性能有益。因此,现在阶段下,RoW联合分布式存储的快照方式是业界主要发展方向。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
美食家大橙子
金牌会员
这个人很懒什么都没写!
楼主热帖
【计算机视觉】图像检索
面了个腾讯拿28k跳槽出来的,真正见识 ...
全面数字化时代,国有大型银行如何走好 ...
MySQL实战45讲 11
【大话云原生】负载均衡篇-小饭馆客流 ...
K8S 性能优化 - OS sysctl 调优
【docker专栏2】CentOS操作系统安装Doc ...
解决Mac下腾讯会议无法使用OBS等虚拟摄 ...
Python入门自学进阶-Web框架——14、Dj ...
前端开发神器,Requestly使用
标签云
存储
服务器
浏览过的版块
Java
快速回复
返回顶部
返回列表