Snowflake 中的数据迁移2025年1月29日 | 阅读 14 分钟 数据迁移工具更高的安全性、极少甚至零管理、高可扩展性和预算灵活性是推动数据和应用程序向云端迁移的因素。一旦进入云端,优势便显而易见。在迁移到云端时,规划、准备和合适的数据迁移工具是必不可少的。 无论您是有一个简单直接的云数据迁移计划还是一个数据仓库迁移计划,在开始传输之前都需要做几件事情。首先,确保您完全理解任务的范围。之后,如果发现迁移的某些部分被遗漏,可能会导致项目严重延迟,并增加陷入沉没成本谬误的风险。 ![]() 其次,确认有一个健全的数据迁移方法,从评估到执行。第三,确保迁移范围包含数据安全计划。 选择合适的数据传输工具Snowflake 内置的转换工具、与解决方案提供商的合作以及对性能优化的承诺,使得数据迁移快速、简单且经济高效。Snowflake 与多家技术供应商合作,以实现传统数据仓库最无缝、最高效的迁移。 Snowflake 专业服务可能会根据您的特定数据仓库生态系统推荐最理想的迁移技术。为了利用合作伙伴的迁移技术,Snowflake 致力于与企业建立战略技术协议,并提供像 SnowConvert Powered by Mobilise、下一个 Pathway 和 Blade Bridge 这样的内部解决方案。 为什么迁移到 Snowflake?在进入迁移过程之前,让我们先看看使用 Snowflake 的主要理由。
![]()
Snowflake 迁移的 7 步指南1. 审查数据 分析数据是 Snowflake 数据迁移仓库迁移过程的第一步。这包括分析您的数据模式以识别差异,根据其重要性对数据进行分类,评估其质量,并理解复杂的数据关系。这对于确保成功的数据迁移以及整个过程中准确可用数据至关重要。 2. 选择迁移方法 数据分析后,下一步是选择迁移策略。以下是一些您可以考虑的方法:
您的决定将受到数据量和您希望迁移的速度等因素的影响。 3. 选择和拆分数据 选择迁移到 Snowflake 的技术后,下一步是使用文件分割器(如 ETL 工具或 GSplit)来选择和拆分数据。这有助于迁移过程并降低出错的可能性。 4. 准备数据 然后应将数据移动到 Snowflake 暂存区域。为此,您需要从 Snowflake 平台下载 SnowSQL(CLI 客户端)或 SnowSQL 命令行客户端。专家可以使用 Snowflake 语法中的 PUT 命令来暂存本地文件。通过调整 1 到 100 之间的数字,可以优化并行化的效率,其中较低的数字需要较少的执行能力。 ![]() 5. 自动压缩文件 请记住在 Snowflake 中自动压缩本地文件以提高暂存时的速度。为获得最佳效果,请检查文件是否已使用 zip 显式压缩;如果是,则将 auto-compress 设置为“false”布尔值。 6. 执行 在此阶段,云迁移专家会配置 Snowflake 环境并启动迁移过程。 7. 确认云迁移 确保一切按计划进行是最后一步。测试并验证迁移到 Snowflake 的数据,以确保其正确且可用。数据迁移测试对于确保您的数据处于良好状态并已准备好在 Snowflake 中使用至关重要。 这些数据的量通常以 TB 或 PB 为单位,并且通常经过了多次重构、修改和升级。现有的数据模型通常与业务上下文框架和设计模式相关联,并且监管要求可能需要精确地保留历史数据并使其易于审计。 ![]() “直接迁移”策略满足了所有这些需求,该策略同时迁移数据和业务工作负载。这可以简化变更管理,从而减少对公司其他部分的影响和停机时间。通过以适当的质量和格式迁移历史数据,可以确保数据为报告和 AI 应用程序做好准备。 选择最佳迁移策略的技巧要更深入地了解您的历史数据环境,是确定最适合您公司的迁移策略的第一步。初始任务是获取信息。首先向 DBA、应用程序所有者、利益相关者和其他相关方提出以下问题:
对于数据迁移,IT 专业人员必须客观地考虑本地数据中心与云提供商之间的带宽可用性。他们还必须认识并考虑任何工作负载依赖关系。为了完成迁移计划以及刷新和同步策略,他们还应将所有历史数据资产归类为热、冷或温暖。 ![]() 运营团队还必须监督将数据资产从本地服务器传输所需的安全性许可,并确定暂存服务器采购的交货时间。 将数据从旧平台传输到 Snowflake 的最佳方法。迁移计划有四个主要步骤:数据提取、传输、上传和验证(在建立必要的技术和运营组件之后)。 以下是每个阶段的一些潜在障碍以及如何克服它们:第一步:有效提取旧系统中的数据挑战: 传统数据的压缩率低、特定表上的遗留作业或资源争用,以及源系统上可能打开的并行连接数限制,都可能阻碍有效提取。 最佳技术 仅从辅助或只读实例获取数据,以提高吞吐量。
第二步:将数据上传到云端挑战: 受限的网络带宽或在高峰和非高峰时段吞吐量差异很大,会阻碍数据的快速传输。大量数据也会影响每次重复中的数据传输速率。在传输文件时,尤其是在处理大文件时,可能会发生数据损坏。 最佳技术 为了在高峰、非高峰和周末时段确定最佳吞吐量窗口,在分析阶段进行概念验证。应选择最大可用带宽而不是总容量,因为多个项目有时会共享网络带宽。如果可能,使用压缩文件。 第三步:利用 Snowflake 数据云挑战上传数据挑战: 如果客户订阅中包含对象存储,则可以使用它作为外部暂存区将数据上传到 Snowflake;如果未包含,则需要使用内部暂存区。旧平台上的高数据量增加可能导致的更短冻结时间或切换窗口,也可能影响初始迁移后增量数据同步发生的时间。此外,不适当大小的集群可能会导致您的信用额度消耗率上升。 最佳技术 为了获得最佳吞吐量,请使用 Snowflake 原生的数据加载器实用程序。您还可以使用 Snowflake 原生加载器的错误处理功能来快速查找数据加载中的问题。 第四步:检查传输的数据挑战: 手动认证和验证耗时且容易出错。团队必须投入更多的时间和精力来评估数据的质量。 最佳技术 利用行业解决方案、加速器和定制构建的框架(如 TCS 提供的那些),以更快、更有效地完成验证。 ![]() 有各种方法可以将分析和数据迁移到 Snowflake 这样的尖端云数据平台。另一方面,使用数据迁移框架可以为您提供极大的灵活性。TCS Daezmo 套件在这种情况下非常有用。它通过结合多种迁移方法、方法论和机器优先的解决方案加速器,帮助企业将数据和分析环境现代化迁移到 Snowflake。 数据迁移工具的四步迁移方法如下:使用旧平台的原生提取器检索数据。将数据存储在暂存服务器或 NFS 中,并使用分隔文本或其他合适的数据格式(最好是压缩的,如前一最佳实践中所述)。在您喜欢的语言中创建一个通用框架,该框架使用元数据输入来启动处理多个表和业务场景的原生提取器脚本。使用 TCS 数据迁移工具和 JDBC 驱动程序,您可以提取数据,作为低数据量和长迁移窗口场景的替代方案。 使用数据迁移工具的 SFTP 连接器,将数据从暂存服务器或 NFS 提取并上传到 Snowflake 的内部或外部暂存区。利用数据迁移工具与原生加载器(用于批量加载的 COPY INTO 和用于增量数据加载的 MERGE INTO)的内置集成,您可以将数据上传到 Snowflake 表。 验证您传输的数据。数据迁移工具通过简化将数据传输到 Snowflake 目标的过程,加速了历史数据的迁移。对于具有紧张迁移截止日期的企业(例如,许可证即将到期且需要时间敏感的数据迁移的公司),节省的时间可能非常可观。 ![]() 在许可证过期前的 14 个月内,一家中欧银行必须将其庞大的金融和监管数据仓库从其 RDBMS 迁移出来;数据必须精确地按原样传输。该银行使用 TCS 数据迁移工具迁移了超过 300 TB 的非生产环境历史数据。由于数据量庞大,团队使用了 TCS 数据迁移工具与原生平台工具的集成来完成工作。由于生产环境超过 1 PB 的数据迁移时间表紧张且网络带宽有限,因此基于设备的策略是最佳选择。 该团队使用了 AWS Snowball 存储设备,并创建了自定义脚本,在将数据加载到 S3 存储桶后加载到 Snowflake 表中。在几个月内,功能齐全的金融和监管平台在 Snowflake 上启动。 尽可能高效地促进数据传输
1. 组织和评估
2. 准备
3. 数据加载
4. 数据测试和验证
5. 监控和上线
确实,让我们更详细地探讨 Snowflake 数据传输过程的每个阶段。 1. 组织和评估应记录所有数据源,包括数据库、平面文件、API 和外部应用程序,作为数据清单的一部分。评估数据的数量、多样性和速度。
2. 准备
数据清理是消除重复项、修复错误和标准化数据格式的过程。这正是 Informatica、OpenRefine 和 Talend 等工具派上用场的地方。 通过设置以下内容来配置您的 Snowflake 帐户环境:
3. 数据测试和验证
4. 增强和调整
5. 监控和上线
6. Snowflake 的功能
Talend 提取数据工作流示例
转换数据
下载数据
Snowflake 迁移的步骤1. 评估: 检查当前记录架构,包括数据量、类型和格式,以及实施的 ETL(提取、转换、加载)策略。 2. 规划: 确定要迁移哪些记录,如何最好地处理历史信息,以及要对当前 ETL 流程进行哪些修改。 3. 环境设置: 为 Snowflake 环境分配角色、数据库和虚拟仓库。 4. 模式迁移: 将当前系统的数据库模式迁移到 Snowflake。使数据类型和结构与 Snowflake 兼容可能包括转换它们。 ![]() 5. 数据迁移: 将数据从当前数据库传输到 Snowflake。可以使用第三方工具或 Snowpipe 等原生 Snowflake 工具进行。 6. 代码迁移: 为了使 SQL 查询、存储过程和其他代码能够与 Snowflake 一起工作,请更新或重建它们。 7. 测试: 为确保数据完整性、性能和可靠性,请彻底测试新环境。 8. 优化: 根据测试结果调整性能参数,例如仓库大小和聚簇键。 9. 部署: 从之前的系统迁移到新的 Snowflake 环境。这可能涉及在一段时间内同时运行两个系统。 Snowflake 迁移的优势
挑战
迁移工具
最佳实践
仔细的规划对于确保无缝传输至关重要,这可以大大增强 Snowflake 迁移的可扩展性、性能和灵活性。 结论总而言之,我们可以得出结论,将数据迁移到 Snowflake 需要极其注重细节的规划、准备和执行。通过遵循结构化方法,包括评估您当前的现环境、配置 Snowflake、提取和加载数据、转换和验证数据、优化性能以及进行广泛的测试,可以确保无缝传输。 下一个主题Snowflake 数据转换 |
我们请求您订阅我们的新闻通讯以获取最新更新。