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.rhkb.cn/news/20608.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nlp|微调大语言模型初探索(2),训练自己的聊天机器人

前言 上篇文章记录了具体的微调语言大模型步骤,以及在微调过程中可能遇见的各种报错,美中不足的是只是基于开源数据集的微调,今天来记录一下怎么基于自己的数据集去微调大语言模型,训练自己的智能机器人!!&…

剑指 Offer II 025. 链表中的两数相加

comments: true edit_url: https://github.com/doocs/leetcode/edit/main/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20025.%20%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%9A%84%E4%B8%A4%E6%95%B0%E7%9B%B8%E5%8A%A0/README.md 剑指 Offer II 025. 链表中的两数相加 题目描述 给定两个 非…

numpy(02 数据类型和数据类型转换)

numpy(01 入门) 目录 一、Python NumPy 数据类型 1.1 NumPy 基本类型 1.2 数据类型对象 (dtype) 1.3 具体实例 二、Numpy数据类型转换 2.1 浮点数据转换 2.2 整型数据转换 2.3 浮点数转整数 一、Python NumPy 数据类型 1.1 NumPy 基本类型 下表列举了常用 NumPy 基…

python: SQLAlchemy (ORM) Simple example using SQLite

领域层(Domain):定义了 School 实体类和 SchoolRepository 抽象基类,明确了业务实体和数据访问的契约。基础设施层(Infrastructure):通过 SQLAlchemy 实现了 SchoolRepository 类,负…

MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 高级篇 part 1

第01章_Linux下MySQL的安装与使用 首先在vmware中下载centos7,实际上8更好一点,不过centos已经是时代的眼泪了,我之前已经教过了,不过是忘了,所以重新说一遍,看文档即可 2.开机前修改mac地址 &#xff0…

谈谈 ES 6.8 到 7.10 的功能变迁(1)- 性能优化篇

前言 ES 7.10 可能是现在比较常见的 ES 版本。但是对于一些相迭代比较慢的早期业务系统来说,ES 6.8 是一个名副其实的“钉子户”。 借着工作内升级调研的任务东风,我整理从 ES 6.8 到 ES 7.10 ELastic 重点列出的新增功能和优化内容。将分为 6 个篇幅给…

Vue前端开发-Vant组件之Button组件

Vant 有丰富的UI组件,而基础组件是全部组件的核心,基础组件中将常用的元素做了二次的开发,封装成Vant格式组件,如按钮、图片和布局等,这些封装后的Vant组件,提供了更多面向实际应用的属性和事件&#xff0c…

《机器学习数学基础》补充资料:求解线性方程组的克拉默法则

《机器学习数学基础》中并没有将解线性方程组作为重点,只是在第2章2.4.2节做了比较完整的概述。这是因为,如果用程序求解线性方程组,相对于高等数学教材中强调的手工求解,要简单得多了。 本文是关于线性方程组的拓展,供…

力扣 买卖股票的最佳时机

贪心算法典型例题。 题目 做过股票交易的都知道,想获取最大利润,就得从最低点买入,最高点卖出。这题刚好可以用暴力,一个数组中找到最大的数跟最小的数,然后注意一下最小的数在最大的数前面即可。从一个数组中选两个数…

idea无法联网,离线安装插件

插件地址:https://plugins.jetbrains.com/ JetBrains Marketplace 如果无法进入,可以试试 配置hosts 3.163.125.103 plugins.jetbrains.com ip 变了,可以查询个最新的: https://tool.chinaz.com/speedtest/plugins.jetbrai…

【Spring详解一】Spring整体架构和环境搭建

一、Spring整体架构和环境搭建 1.1 Spring的整体架构 Spring框架是一个分层架构,包含一系列功能要素,被分为大约20个模块 Spring核心容器:包含Core、Bean、Context、Expression Language模块 Core :其他组件的基本核心&#xff…

Spring Boot 定时任务:轻松实现任务自动化

在现代应用开发中,定时任务是一个常见的需求。比如,我们可能需要定时清理过期数据、定时发送邮件通知等。 操作流程 开启定时任务注解 在启动类添加注解EnableScheduling 设置时间(固定时间间隔) 使用 Scheduled 注解创建定时…

DeepSeek R1生成图片总结2(虽然本身是不能直接生成图片,但是可以想办法利用别的工具一起实现)

DeepSeek官网 目前阶段,DeepSeek R1是不能直接生成图片的,但可以通过优化文本后转换为SVG或HTML代码,再保存为图片。另外,Janus-Pro是DeepSeek的多模态模型,支持文生图,但需要本地部署或者使用第三方工具。…

燧光 XimmerseMR SDK接入Unity

官网SDK文档连接: RhinoX Unity XR SDK 一:下载SDK 下载链接:RhinoX Unity XR SDK 二:打开Unity项目,添加Package 1、先添加XR Core Utilties包和XR Interaction Toolkit包 2、导 2、再导入下载好的燧光SDK 三&…

vue学习笔记

结合目录,点击阅读 文章目录 案例1:第一行vue代码App.vue引入Person.vue案例:改变变量的值案例:改变对象属性值案例:toRefs进行解包案例:给名字首字母大写案例:监视变量值的变化案例&#xff1…

初学PADS使用技巧笔记(也许会继续更新)

操作意图:网上找某个芯片封装又不想自己画,再加上没经验,怎么办? 就以AC-DC芯片PN8036为例,打开嘉立创的的DFM,打开立创商城,输入PN8036,点击数据手册,然后点击直接打开…

解锁机器学习核心算法 | 随机森林算法:机器学习的超强武器

一、引言 在机器学习的广阔领域中,算法的选择犹如为一场冒险挑选趁手的武器,至关重要。面对海量的数据和复杂的任务,合适的算法能够化繁为简,精准地挖掘出数据背后隐藏的模式与价值。机器学习领域有十大核心算法,而随…

LeetCode每日精进:225.用队列实现栈

题目链接:225.用队列实现栈 题目描述: 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。 实现 MyStack 类: void push(int x…

二.数据治理流程架构

1、数据治理流程架构核心思想: 该图描绘了一个以数据标准规范体系为核心,大数据生命周期管理为主线,数据资源中心为依托,并辅以数据质量管理和大数据安全与隐私管理的数据治理流程架构。它旨在通过规范化的流程和技术手段&#x…

java_使用Spring Cloud Gateway + nacos实现跨域访问

Spring Cloud Gateway简介 Spring cloud gateway是spring官方基于Spring 5.0、Spring Boot2.0和Project Reactor等技术开发的网关,Spring Cloud Gateway旨在为微服务架构提供简单、有效和统一的API路由管理方式,Spring Cloud Gateway作为Spring Cloud生…