当前位置: 首页 > news >正文

Cloud之快照存储(Cloud Snapshot Storage)

Cloud之快照存储

一、什么是快照

1. 快照的定义

快照(Snapshot)是一种记录某一时刻数据状态的技术。在计算机存储和虚拟化环境中,快照能够将文件系统或虚拟机的状态保存下来,以便以后能够回溯到某一特定时间点。快照通常用于备份、恢复、数据管理等场景,能够提供一种快速且高效的方式来保护数据和确保数据的完整性。

2. 快照的价值

  • 快速备份/恢复:快照可迅速生成,并可用作传统备份和归档的数据源,缩小甚至消除数据备份窗口,快照存在在磁盘上,可以快速直接存取,大大提高数据恢复的速度。

  • 保存多个恢复点目标:基于磁盘的快照使存储设备有灵活和频繁的恢复点,可以快速通过不同时间点的快照恢复数据。

  • 重新定义数据用途:快照提供一份接近实况数据的拷贝,可供测试、归档、查询使用,既保护生产系统又赋予备份数据新的用途。

3. 快照的分类

  • 写时复制CoW

  • 写时重定向RoW

二、CoW与RoW

1.CoW(Copy-On-Write写时复制)

写时复制是一种延迟复制的技术。在创建快照时,系统不会立即复制整个数据,而是保持原数据不变。当数据发生修改时,系统才会将被修改的数据复制到新的存储位置,保证快照中的数据保持不变。这种方式能够大大减少存储空间的使用,因为只有在数据发生修改时才进行复制。

2.ROW(Redirect-On-Write写时重定向)

写时重定向技术与写时复制相似,但它的处理方式不同。当数据发生写操作时,ROW并不会修改原数据,而是将新的数据写入到一个新的位置,并更新指针或引用,指向新位置的值。这样,原数据保持不变,快照中的数据依然保留为原始状态。ROW也能在一定程度上减少存储消耗,并且在多个副本之间提供较好的隔离性。

3.COW与ROW的区别:

数据修改时的行为:

  • COW(写时复制):当数据被修改时,原数据会被复制到新的位置,修改后的数据会存储在新位置。

  • ROW(写时重定向):修改操作时不会修改原数据,而是把新数据写到新的位置,并且通过更新引用或指针来指向新的数据。

存储效率:

  • COW:初始阶段占用空间较少,只有在数据发生修改时,才需要复制数据,因此存储消耗逐步增加。

  • ROW:通过将新数据写到新的位置并重定向引用,数据的存储空间使用方式不同于COW,通常ROW会在数据修改频繁的情况下比COW消耗更多存储空间。

实现复杂度:

  • COW:在某些情况下,COW的实现较为简单,因为数据修改时只需复制数据。
  • ROW:ROW需要额外的机制来维护数据的重定向路径,通常比COW复杂,但它能够提供更高的性能和灵活性。

总结来说,COW和ROW都是为了优化数据存储和快照管理,但它们在实现和存储消耗方面有所不同。COW适用于更节省空间的情况,而ROW适合那些对性能有较高要求的场景。

http://www.lryc.cn/news/539649.html

相关文章:

  • cs106x-lecture11(Autumn 2017)-SPL实现
  • 负载均衡集群( LVS 相关原理与集群构建 )
  • 【分布式】Hadoop完全分布式的搭建(零基础)
  • 基于Java+Swing+Mysql实现人事管理信息系统
  • DeepSeek与ChatGPT:会取代搜索引擎和人工客服的人工智能革命
  • 企业级RAG开源项目分享:Quivr、MaxKB、Dify、FastGPT、RagFlow
  • js基础知识总结
  • LearnOpenGL——高级OpenGL(下)
  • vue脚手架开发打地鼠游戏
  • uniapp 连接mqtt
  • EX_25/2/19
  • Breakout Tool
  • 【大模型】DeepSeek:AI浪潮中的破局者
  • Kafka 简介
  • 什么是掉期(Swap)?——金融衍生品的关键工具(中英双语)
  • 深入解析 Vue 项目中的缓存刷新机制:原理与实战
  • 【C++】 Flow of Control
  • 【异常错误】pycharm debug view变量的时候显示不全,中间会以...显示
  • 2.19c++练习
  • 【为什么使用`new DOMParser`可以保持SVG命名空间】
  • 【DL】浅谈深度学习中的知识蒸馏 | 输出层知识蒸馏
  • 应急响应(linux 篇,以centos 7为例)
  • EasyRTC:智能硬件适配,实现多端音视频互动新突破
  • 堆和栈的区别
  • 【信息系统项目管理师】专业英语重点词汇大汇总
  • CV -- YOLOv8 图像分割(GPU环境)
  • Cherry-Studio下载安装教程,AI面向开发者的工具或平台(付安装包)
  • 【Javascript Day19】BOM
  • git 操作 已经 commit 但是没有 push 怎么办
  • 在 macOS 的 ARM 架构上按住 Command (⌘) + Shift + .(点)。这将暂时显示隐藏文件和文件夹。