数据库新闻速递 明白3中主流的数据迁移方法 (译)

news2024/7/30 19:00:54

头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,在新加的朋友会分到2群(共830人左右 1 + 2)

基于应用程序的、基于文件的和基于块的迁移都有各自的优点和适用场景。选择正确的解决方案首先要了解它们之间的差异。

数据迁移对于任何规模的 IT 组织都是至关重要且富有挑战性的操作。无论组织是小型、中型还是财富 500 强巨头,将数据从一个系统迁移到另一个系统充满了风险,从数据丢失或损坏到延长停机时间,这些风险的影响可能极为昂贵。不论公司规模如何,建立组织的数据移动功能的连续性和可靠性都是至关重要的任务,选择正确的数据迁移方法和解决方案也是必不可少的。

在企业生产环境中迁移数据有三种主要方法:基于应用程序的(逻辑)、基于文件的和基于块的(物理)。这些迁移方法各有优点和适用场景。在本文中,我们将分别评估这三种方法。首先,我们将讨论一些组织需要进行数据迁移的常见原因。

迁移到新位置(数据迁移)。当数据和应用程序需要从一个位置移动到另一个位置时,需要进行数据迁移,例如在数据中心搬迁或整合期间。这种迁移在大型跨国企业组织中尤为流行,因为数据经常需要从一个地方移动到另一个地方。

由于源和目标之间的带宽可能有限,迁移性能和实时数据迁移能力在这种类型的迁移中尤为重要。

迁移到新存储(存储刷新)。替换或添加新存储可能是数据迁移最常见的用例。组织出于许多原因获取新的存储设备,每次存储刷新都需要将生产负载从旧存储迁移到新存储。成本、功能、可靠性和性能是组织获取新存储的热门原因。

存储刷新可能包括物理存储更改和存储协议更改(从 iSCSI 到光纤通道、从光纤通道到 iSCSI 以及其他专有协议)。能够在不停机的情况下透明且无干扰地启动和执行数据迁移对于这种类型的迁移至关重要,以消除对生产环境中业务应用的不必要影响。

迁移到新平台(基础设施刷新)。组织内部经常会进行基础设施刷新,特别是在通过自然增长或收购扩大业务规模或采用新技术时。这些刷新可能是由于希望将应用程序负载从一个托管位置或状态迁移到另一个位置,从物理环境迁移到虚拟环境,迁移到私有云或超级融合基础设施,迁移到公共云,从一个云服务提供商迁移到另一个云服务提供商,甚至是从云中退出到托管的数据中心。

迁移存储数据通常只是在较长时间内进行的范围更广泛的基础设施升级的一部分。通常涉及许多不同类型的应用程序、操作系统、文件系统、基础设施平台和提供商。

因此,拥有一个与多个平台和供应商原生集成的一体化迁移解决方案对于重视数据流动性的组织而言,在提高效率和可管理性方面至关重要。在上述场景中使用多种工具和解决方案可能会带来不必要的复杂性,并增加人为错误的风险,这些因素可能导致成本增加和系统停机时间延长。

应用程序转换。当应用程序环境或应用程序本身需要进行转换时,有时需要进行数据迁移。这些可能包括应用程序升级、整合、扩展、将单体应用转换为微服务,甚至将服务从一种应用类型转移到另一种应用类型。

当企业决定转换其应用程序时,通常超越了 IT 基础设施层次的迁移,因为它需要更广泛的业务转型操作。

在急于完成项目的过程中,往往会将数据迁移到新存储环境的策略制定推迟到最后一刻。最后一刻的匆忙往往导致组织跳过步骤,直接进入数据迁移,而没有采取必要的措施。这似乎是显而易见的,但要正确设计和执行数据迁移,组织需要明确迁移的原因。一旦了解需要迁移哪些数据以及为什么,他们就可以探讨如何以最佳方式进行迁移。

数据迁移的三种主要方法是应用级、文件级和块级。下面我们详细了解一下每一种。

应用程序级别或逻辑数据迁移 应用程序数据迁移——有时被称为逻辑数据迁移或事务级别迁移——是一种利用本身内置在应用程序工作负载中的数据移动能力的迁移方法。

这些功能通常只适用于少量的企业级应用,如数据库、虚拟化管理程序和文件服务器,它们通常是为数据保护目的而设计的。

技术:某些应用程序提供专有的数据移动功能。这些功能通常有助于配置备份或辅助存储,或对其进行协助。然后,这些应用程序同步或异步地确保辅助存储是有效的,并在必要时可以在没有主副本的情况下使用。

应用示例:Postgres SQL逻辑复制、Microsoft SQL复制、Oracle Goldengate、存储vMotion(VMware)以及其他使用VMware API迁移VMware的商业工具。

应用程序级数据迁移的优势 用户界面。原生数据移动功能通常与应用软件集成,并可以通过软件的主要用户界面进行配置。

部署:由于软件中有原生数据移动功能,通常不需要额外的要求或安装。

兼容性和支持。原生数据移动仅为特定应用程序设计,无需担心兼容性问题。如果遇到问题,供应商通常会提供在线支持。应用程序级迁移还可能实现其他数据迁移方法无法提供的应用程序转换功能。一个例子是在不兼容的主要数据库版本之间传输数据。

应用程序级数据迁移的局限性 有限的可用性。只有大型企业应用程序(如数据库和文件服务器)可能提供此类功能。关键词是“可能”。可用性将很大程度上取决于您要迁移到最新版本的应用程序的年代和类型。

单一用途。由于数据移动功能专为单个应用程序构建,因此在大型迁移操作中使用时,许可、培训和其他管理费用的相关成本会累积。效率。应用程序级数据同步是在逻辑层面上执行的。例如,数据库复制是在数据库记录、事务或SQL语句级别进行的。虽然这些方法准确且多功能,但在将数据从一个存储系统同步到另一个存储系统或从一个平台同步到另一个平台时,尤其是涉及大量数据时,可能存在更高效的方法。

生产影响。逻辑同步是应用程序的一部分,因此只能使用应用程序和存储之间现有的可用带宽。因此,在同时维护生产负载的情况下执行数据迁移的能力可能受到限制。

 许可成本。应用程序级数据迁移功能通常被视为企业级特性,需要额外的许可证。由于软件的专有和单一用途特性,可能没有可行的低成本替代方案。

文件迁移就是字面上的意思 —— 在文件系统级别执行的数据迁移。它可以包括本地和基于网络的文件系统。文件迁移工具通常与热门的文件系统类型和文件存储提供商集成。文件迁移工具通常扫描一个文件系统(如Ext4、NTFS、CIFS、NFS、SMB等),然后逐个将文件复制到另一个文件系统。当一个文件正在使用中时,无法进行复制,必须在下一次扫描中移动。一些常见的例子包括 Rsync(Linux)、Robocopy(Windows)、Rclone(云端)以及各种商业选项。

文件级数据迁移的优势:

互操作性:如今,大多数应用程序都使用文件作为持久存储。文件迁移可以作为迁移不同应用程序和不同配置的通用机制。因此,迁移工具与应用程序是独立的。

技术简单:文件数据可以使用操作系统提供的相同的、成熟的 API 来访问,这些 API 是大多数应用程序已经使用的。因此,文件迁移操作通常涉及较少的专业知识和技巧,如果操作不当可能会引入错误。

可用工具:许多文件级数据同步工具都是免费或开源的,包括主要操作系统分发的工具。

兼容性:在应用程序或平台转换期间,可能需要从一种文件系统或文件共享转换到另一种。文件迁移天然支持这些转换,因为数据同步是基于文件对文件的方式进行的。

文件级数据迁移的局限性:

管理开销:在典型的应用环境中,会有大量的文件和文件系统。管理所有文件和文件系统的迁移可能会产生很大的不必要的管理和维护开销。例如,如果组织正在搬迁整个数据中心,逐个文件的迁移所需的时间和管理可能会成为负担,以至于严重延误搬迁进度。

效率:与在应用记录或事务级别进行迁移类似,在活跃环境中逐个迁移大量文件可能效率较低,尤其是在数据变化频繁的场景下。执行此类迁移所需的资源通常也更高。

应用程序如数据库在某些情况下可能频繁更改文件数据(保持文件打开和锁定),这可能使文件迁移效率极低甚至不可能实现。

文件元数据:文件元数据,诸如访问控制列表 (ACL),可能非常复杂。许多基本工具没有提供足够的支持。当跨平台迁移时,缺乏按需支持可能会导致问题。

数据完整性:在文件迁移中,仅同步文件数据。文件系统的内部结构和元数据并未同步。对于需要在迁移后独立验证数据完整性的一些组织来说,遗留元数据是个问题。发现缺失或损坏的文件并无简单方法。

相反,如果完全迁移文件系统,包括内部文件系统结构和元数据,任何数据损坏或遗漏的数据可能会导致文件系统无法卸载,并可通过文件系统检查来检测。仅有文件数据损坏而非文件系统本身损坏的几率极低,可以在数学上忽略不计。

块级数据迁移:块级数据迁移是在存储卷级别执行的。块级迁移并不严格关注存储卷中存储的实际数据。相反,它们包括任何类型的文件系统数据、任何类型的分区、原始块存储以及来自任何应用程序的数据。

相反,如果完全迁移文件系统,包括内部文件系统结构和元数据,任何数据损坏或遗漏的数据可能会导致文件系统无法卸载,并可通过文件系统检查来检测。仅有文件数据损坏而非文件系统本身损坏的几率极低,可以在数学上忽略不计。

块级数据迁移:块级数据迁移是在存储卷级别执行的。块级迁移并不严格关注存储卷中存储的实际数据。相反,它们包括任何类型的文件系统数据、任何类型的分区、原始块存储以及来自任何应用程序的数据。

技术:块级迁移工具在不处理任何数据内容的情况下,从存储卷的开始(字节0)同步到整个卷的结束(字节N),将一个存储卷同步到另一个存储卷。所有数据都被同步,从而在目标端获得与迁移源卷逐字节相同的副本。示例:dd 命令(Linux)、Cirrus Migrate Cloud、Cirrus Migrate On-Premises,以及其他商业迁移和灾难恢复工具。

块级数据迁移的优势:

管理效率:在搬迁数据中心或更新存储设备的组织中,通常可以看到显著的效率优势。在这些场景下,目标是在新位置或存储产品中创建一个与原存储卷相同的副本。无论传输了多少数据、存储设备中存储了多少文件,或者存储设备上有多少不同类型的数据,数据迁移都作为一个相同的单元进行。

性能:数据以块级别同步,通过更精细的变更跟踪、更大的块 I/O、顺序访问等手段,实现更高效的数据复制。作为一个单元迁移整个存储卷还允许使用更先进的数据减少能力。

基本通用性:块迁移在基础架构级别将数据作为一个单元进行迁移。由于块级迁移过程不需要处理存储设备上的任何数据,因此不存在文件系统或应用程序支持或兼容性问题。从 VMware 的 VMFS 到超融合环境,再到水平扩展的软件定义存储,可以在无需处理任何数据内容的情况下进行迁移。

数据安全性:块级迁移是唯一真正安全的数据迁移方法,因为在整个迁移过程中,迁移工具不解释任何应用程序或文件数据。甚至可以在没有文件系统密钥的情况下迁移加密的文件系统。

原始存储支持:对于不从文件系统消耗数据或使用专有文件系统的专业应用程序来说,块级迁移可能是实现准确且卷一致迁移的唯一途径。

数据完整性:与其他迁移方法相比,块级迁移要简单得多。块级数据主要按顺序复制,整个存储设备作为一个单元进行同步。因此,完成迁移后的数据完整性可以通过较少的努力独立验证。

真正的实时迁移:执行块级迁移的迁移工具可以迁移真正实时的数据。在生产环境中如何使用这些数据并不重要。无论数据包含在数据库还是文件存档中,无论文件是否经常被打开和锁定,甚至文件权限发生变化,块级迁移都以相同的方式进行。

块级数据迁移的局限性:

技术复杂性:尽管概念上简单,但块级迁移在技术上相当复杂。与其他迁移方法不同,块级迁移通常涉及专业知识和技巧,而不是现成的操作系统提供的 API。这包括光纤通道和 iSCSI 协议知识、低级别特定于操作系统的内核操作等。

工具稀缺:由于块级迁移的复杂性和专业性,可用的块级迁移工具较少。专门用于块级迁移的工具更为稀缺,因为目前大多数可用的块级同步解决方案都是为数据保护和灾难恢复目的而设计的。

应用程序转换:块级迁移为迁移任何数据提供了极好的方法。然而,在应用程序进行转换且需要更改数据时,可能需要特定于应用的工具。例如,在将 Oracle 数据库实例从 AIX 主机迁移到 Linux 主机时,由于两个操作系统架构之间字节序的差异,可能更倾向于使用应用程序级别的逻辑迁移。

迁移是应用程序、文件还是块?

随着需要存储的数据量不断增加,全球各地的组织不仅在考虑如何存储数据,还在努力优化其存储环境。随着存储技术的不断发展,以及云计算逐渐成为高性能数据库和应用程序的可行选择,数据迁移和数据流动性变得尤为重要。关于数据类型、目标以及控制存储成本的方法的讨论现在已经成为中心话题。这个过程的第一步是了解各种选择,然后使策略与目标保持一致。

b78e9c31bc1e1da9f0ceacad930877a7.png

https://www.infoworld.com/article/3694888/understand-the-3-major-approaches-to-data-migration.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/604301.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Webstorm 支持微信小程序开发插件 Wechat mini program support

支持微信小程序插件安装: Wechat mini program support, 微信小程序语法支持,rpx 单位报错解决。 插件官方文档 Wiki - Gitee.com 安装方法: File-> Settings->Plugins 选择Marketplace: 输入Wechat ,搜索,然…

岭回归有看点:正则化参数解密,显著性不再成问题!

一、概述 「L2正则化(也称为岭回归)」 是一种用于线性回归模型的正则化方法,它通过在模型的损失函数中添加一个惩罚项来防止过拟合。L2正则化的惩罚项是模型参数的平方和,乘以一个正则化参数λ,即: L2正则化…

初阶二叉树的相关题目

前言: 前面我们介绍了初阶二叉树的相关知识,二叉树常考的还是链式二叉树,而且二叉树也会考很多选择题,本文重点是在给出一些常考的二叉树的性质定理推导和经典练习题目配合强化巩固知识。 目录 一、二叉树的常见性质定理 二、常…

你的业务被AI所取替的风险度有多高?AI社交、克隆人、角色扮演、代理人

hi,大家好,最近我们陆续会推出各种实验性项目,把我们在AIGC和数字体验上的思考进行验证,欢迎持续关注我们的进展。(文末领取PDF) 目前,已经有不少的例子证明了ChatGPT有多好用了。 亚马逊员工在…

定制比例阀控制放大器

定制比例阀控制放大器是为特定应用场景设计的定制化控制系统。它可以根据客户的需求和应用要求,配置输入输出及颤振频率等参数,对现有的控制器进行修改和优化,以满足特定的性能指标和功能要求。随着工业自动化技术的不断发展,定制…

关于安卓viewpager实现堆叠卡片交互

背景 长江后浪推前浪,无聊的需求一浪接一浪。 最近做到一个关于卡片堆叠的需求,觉得挺有意思,所以特此记录一下。 文末将附上源码链接 首先看设计图: 可以看到,是一个卡片堆叠的效果,关于这种UI的实现&…

Android系统安全技术---FBE密钥框架和技术详解

一、前言 用户数据加密是移动设备的重要功能,是使用对称加密算法对Android设备上的所有用户数据进行编码的过程,防止用户数据被未经授权的用户或应用程序访问。 本文是Android系统安全技术系列第二篇,主要介绍基于文件的加密技术。首先介绍An…

到底什么是“云手机”?

今天这篇文章,我们来聊一个很有趣的东东——云手机。 说到云手机,有些童鞋可能并不会觉得陌生。是的,它确实并不是一个新名词。早在2011年左右,国内就有厂商推出了云手机的概念。掐指一算,至今已经有12个年头了。 大家…

APP在应用市场内该如何做推广

苹果应用商城的自然流量都是通过精品推荐,畅销排行榜和搜索来获取的,此外,应用名称、副标题、应用截图视频、应用描述、用户评论、下载量、用户留存率还有曝光量,这些都是影响ASO优化的关键因素。 为了防止一些应用堆砌热词&…

传统设备充电接口如何升级成USB-C PD快充接口?

早在 2009 年开始,欧盟就致力于推动消费电子产品充电接口的统一进程,减少资源浪费推动绿色环保进程,同时充电配件通用化也为消费者带来更好的充电体验。2022 年 10 月 4 日,欧洲议会全体会议上表决通过,在 2024 年底之…

C++服务器框架开发8——日志系统LogFormatter_3/override/宏定义优化switchcase结构

该专栏记录了在学习一个开发项目的过程中遇到的疑惑和问题。 其教学视频见:[C高级教程]从零开始开发服务器框架(sylar) 上一篇:C服务器框架开发7——日志系统LogFormatter_2 C服务器框架开发8——日志系统LogFormatter_3/override/宏定义优化switchcase…

代码随想录算法训练营day60 | 84.柱状图中最大的矩形

代码随想录算法训练营day60 | 84.柱状图中最大的矩形 84.柱状图中最大的矩形解法一:单调栈解法二:暴力双指针(会超时)解法三:优化双指针 总结 最后一天打卡留念! 84.柱状图中最大的矩形 教程视频:https://www.bilibili.com/video/BV1Ns4y1o7…

国产化麒麟linux系统QtCreator和QtCreator编译的程序无法输入中文libfcitx最新版本编译1.2.7

1.问题描述 麒麟linux系统QtCreator和QtCreator编译的程序无法输入中文,网上找了很多的libfcitxplatforminputcontextplugin.so库都无法使用正常输入; Qt版本:5.9.6 麒麟系统版本:海光麒麟桌面版kylin V10 SP1 小版本号2203 X…

一个多功能(聚合)查询接口,实现模糊、分页、主键、排序以及多条件查询

一个多功能(聚合)查询接口,实现模糊、分页、主键、排序以及多条件查询 前言 写的啰嗦了点,看效果请直接忽略中间,直接看后半部分。 引个流,公众号:小简聊开发 概念 瞎编的名字,哈哈哈,我就勉强…

一道北大强基题背后的故事(二)——出题者怎么想的?

早点关注我,精彩不错过! 上篇文章中,我们给出一道北大强基考试中的试题,计算[((1 sqrt(5)) / 2) ^ 12],给出了一条没有任何数学直觉,纯硬算的弯路以及题目的参考答案,相关内容请戳:…

IronPDF 2023.6.10 FOR NET CRACK

适用于.NET的IronPDF 2023.6.10 添加新的注释API并改进图像压缩逻辑。 2023年6月2日-14:42新版 特点 添加了新的连续进给选项。例如用于生成收据文档。 添加了新的注释API,包括注释删除。 添加了删除书签的功能。 将内存使用率和性能提高了10%。 改进了图像…

全球加速AEB「强标」,15万元以下车型或将「释放」巨量需求

目前,智能驾驶技术升级,主要是在帮助中高端车型提升产品竞争力,同时为车企构建未来软件付费盈利模式的转型。 但另一方面,基础辅助驾驶,尤其主动安全,比如,AEB(自动紧急制动&#xf…

【企业化架构部署】基于Apache搭建LAMP架构

文章目录 前言一、LMAP架构介绍1.概念2.LAMP构建顺序3.LAMP编译安装4.各组件介绍4.1 Linux4.2 Apache4.3 MySQL4.4 PHP/Perl/Python 二、服务器部署1.Apache部署2.MySQL部署3.PHP部署4.安装论坛 前言 LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整…

考上大学,走进网安

出品|MS08067实验室(www.ms08067.com) 本文作者:北平靴 01 我和网络安全的相遇,说来很巧。2022年我考入吉林大学计算机学院,正巧我们的导助是学校ctf战队的成员,所以在刚入学的很清闲的日子里&a…

Python中logger模块的使用教程

参考模块: https://www.digitalocean.com/community/tutorials/how-to-use-logging-in-python-3 logger是python的内置模块,用以输出代码运行过程中的运行情况,极大的方便了我们的debug过程。参考资料中列出了使用logger相比于print优越的地方…