Snowflake 迁移策略2025 年 7 月 31 日 | 阅读 13 分钟 我们知道,迁移整个数据平台并非易事,需要考虑许多不同的技术和模式,描述项目和流程,规划和设计目标状态,同时还要保持当前的日常运营和业务决策。 我们的经验包括将各种系统迁移到 Snowflake。为了确保您的业务能够照常运行,我们会在 Snowflake 迁移中考虑您当前的运营活动。 ![]() 列一个清单以下因素使清点成为关键步骤
目标
与源一样,确定所有者是关键步骤。目标的所有者将有助于确保
![]() 数据库对象这些包括数据库、存储过程、表、模式和作业(如 SQL Server Agent 作业)。在清点数据库对象时,经常会发现不再使用或因现有系统限制而出于性能原因正在使用的模式、表和其他数据库对象。由于此过程,新的 Snowflake 环境的范围可能需要更少 .^{} 从数据库获取统计信息,包括活动、表大小以及每天进行的更改次数,是另一个要素。这有助于正确确定 Snowflake 数据仓库的大小以获得最佳性能。 作业和摄取管道这个特定的清单项目可用于映射数据库对象并协助决定如何加载它们。我们还可以通过它了解数据在哪里、如何以及是否在摄取过程中混合。 为了更好地确定 Snowflake 数据仓库的大小,我们会收集有关正在处理的数据量、管道的频率以及执行的操作类型(例如增量更新)的数据,这与我们处理数据库对象的方式相同。根据所使用的设备或工具,可能无法轻松获得其中一些精确值,但没关系,因为估计或近似值仍然有助于确定大小。 转换用于执行转换的 SQL 代码几乎肯定无法在当前系统到 Snowflake 之间按原样运行。在这种情况下,phData Toolkit 将非常有用。我们使用 SQL Translation(以前称为 SQLMorph)工具将多种 SQL 方言翻译成 Snowflake 特有的 SQL。 报告这项练习的目的是找出数据的使用方式。最终,我们希望知道哪些报告涵盖在 Snowflake 迁移中,以及使用的工具以及它们的使用方式。为了确保 数据完整性 得到维护,并且数据是消费者期望的数据,这些报告还可以用于特定的数据验证。 选择方法在我们清楚了解现有情况并对迁移范围有一定了解后,我们将制定达到目标状态的策略。通常,这需要确定迁移是“直接迁移”(尽可能保持目标状态与源状态接近,同时使用 Snowflake),还是需要重新设计摄取和转换模式以消除技术债务和复杂性。 ![]() 上述方法的注意事项如下直接迁移与重新设计或重构直接迁移策略涉及将工作和输出重定向到 Snowflake,而基本保持管道和任务的当前状态。因此,此方法的优点在于能够进行真实的“一对一”比较,并实现更短的 Snowflake 路径。 重构技术旨在优化 Snowflake 上的流程,旨在简化或消除管道瓶颈。它甚至使用不同的数据模型来进一步利用数据潜力。此方法提供了平台的长期视角,因为它允许为未来的用例和 Snowflake 优化进行规划。 我们已经完成了这两种迁移,并发现了一些在确定哪种策略最佳时需要考虑的因素。对于有严格日期截止日期(如硬件寿命终结)或出于合规原因要求系统之间数据必须匹配(如执行相同的转换逻辑)的迁移,建议采用直接迁移方法。 ![]() 在这种情况下,我们建议查看我们 phData 工具箱中的 SQL Translation。它可以轻松地在方言之间转换 SQL,而无需更改任何逻辑。如果直接迁移的考虑因素不适用,我们建议使用重构策略。为实现长期未来用例,简化当前架构并可能开发新的数据模型。 摄取管道正如我们在直接迁移策略中所讨论的,管道被重定向到 Snowflake 并基本得以保留。根据管道中的操作以及工具如何处理处理,可能需要一些调整才能将源 SQL 方言转换为 Snowflake 特有的 SQL。 另一方面,重构管道可以包括简化各种工作流以及分离摄取和转换操作。我们建议对摄取管道使用 ELT 方法,即将原始数据加载到 Snowflake 中,以确保其与源层非常相似,主要的变化是数据类型转换。 我们的合作伙伴 Fivetran 对这种策略非常了解。他们极大地简化了数据摄取过程,让您可以专注于为您的公司增加价值。这是因为他们的 HVR 技术提供了可靠的近实时数据摄取,以及他们拥有众多用户友好型连接器的 SaaS 产品。 从此,Snowflake 中的转换开始。转换了解转换在哪里执行是清单练习的一个方面。在这里,我们决定是将现有任务重定向到 Snowflake(例如,债务)还是解耦以转移这些活动。 Matillion 提供了一种 GUI 优先的云原生方法来开发转换管道。这两种技术都提供了构建转换管道的出色方法,可确保您的公司获得可靠且有价值的数据。 报告 关于报告技术,有几点需要考虑。所涉及的技术将影响方法的选择。某些技术通过在报告中修改连接方面提供更大的灵活性,使得直接迁移策略成为可能。 还应考虑最终数据模型以及它是否会偏离当前结构。为了利用新设计,现有报告将需要重建,因为最终模型正在发生变化。 数据模型让我们来讨论一下新的 Snowflake 平台用于组织数据的方法和模型。 选择数据仓库架构除了迁移之外,还支持并促进了公司。这些策略都有优缺点,选择通常基于组织的需要以及每个计划的潜在好处。 可用的数据模型如下数据仓库方法创建信息架构 信息架构文档详细介绍了 Snowflake 环境的组织、结构、标签、安全和共享。我们的经验表明,通过在架构设计上做到具体,可以确保成功迁移到目标状态。 从传统平台迁移数据到 Snowflake 的最佳方法是:在确定了最初的技术和操作考虑因素后,迁移计划中的四个主要过程是数据提取、传输、上传和验证。 步骤 1:有效地从原始系统提取信息挑战:遗留数据压缩率低、特定表的长时间运行过程或资源争用,以及源系统上可建立的并发连接数量有限,这些都常常阻碍有效提取。 最佳方法
步骤 2:将信息传输到云端挑战:网络带宽有限或在高峰和非高峰时段吞吐量波动很大,都会阻碍快速数据传输。大量数据也可能影响每次重复的数据传输速率。数据损坏是文件传输的风险,特别是对于大文件。 最佳方法 在分析阶段进行概念验证,以确定高峰、非高峰和周末时间的最佳吞吐量窗口。选择可用带宽的最大值而不是总容量,因为多个项目有时会共享网络带宽。 如果您有大量数据、速度慢且总体时间紧迫(这可能需要额外的组织许可),请考虑基于设备的即时数据传输。 步骤 3:将数据上传到 Snowflake 数据云挑战是第三步。如果客户订阅中提供了对象存储,您可以使用它作为外部阶段将数据上传到 Snowflake;如果没有,您将需要使用内部阶段。由于遗留平台上的数据量快速增长而导致的冻结期或切换窗口缩短,可能会影响初始迁移后的增量数据同步。此外,错误大小的集群会提高您的信用消费率。 最佳方法 为获得最大吞吐量,请使用原生 Snowflake 数据加载器实用程序。为及时检测数据加载问题,请利用 Snowflake 原生加载器的错误处理功能。 为经济高效地加载数据,请使用独立的数据仓库。配置具有自动暂停和恢复功能的自动扩展策略,并根据您的数据量调整仓库大小。设置计算、信用额度限制和通知触发器,然后在 Snowflake 账户上创建资源监控。 为使用原生加载器获得最佳吞吐量,请将文件大小限制在 100 到 250 MB 之间。为了减少文件和子文件夹的数量,请将暂存区的数据划分为逻辑路径。加载文件后,使用 copy 或 delete 命令中的 purge 选项将其从 Snowflake 暂存区中删除。 步骤 4:验证迁移的数据挑战:手动认证和验证耗时且容易出错。团队必须投入更多时间和精力来评估数据的质量。 最佳方法 使用参照完整性测试来确保表之间的数据级关系完好,并使用基于校验和的验证来确认文件在传输过程中没有损坏。 改进报告和分析工具,以确保它们在新环境中正常运行。重定向分析和报告测试本身也需要严格的测试。经过验证的高质量数据对于 AI/ML 工作负载和报告至关重要。 生成验证结果的文本报告并保存,以备将来进行额外研究或实施纠正措施。 ![]() 使用数据迁移工具创建数据迁移框架数据和分析可以通过多种方式迁移到现代云数据平台,例如 Snowflake。 数据迁移工具的四步迁移方法如下使用遗留平台的原生提取器检索数据。将数据存储在暂存服务器或 NFS 上,并使用分隔文本或其他适当的数据格式(如前述最佳实践中所述,最好进行压缩)。通过触发由元数据输入触发的原生提取脚本,使用您首选的语言创建一个通用框架,该框架可以处理多个表和业务场景。或者,您可以在数据量较小且迁移窗口较长的情况下,使用数据迁移工具和 JDBC 驱动程序提取数据。 验证您迁移的数据该工具通过加快将数据传输到 Snowflake 目标来促进历史数据迁移。对于有严格迁移截止日期的企业,例如,由于许可证过期而必须进行时间敏感数据迁移的公司,节省时间可能非常可观。 在许可证过期前 14 个月,一家中欧银行必须将其庞大的财务和监管数据仓库从其 RDBMS 迁移出来,并且数据必须按原样传输。该银行使用数据迁移工具从非生产环境中迁移了超过 300 TB 的历史数据。由于数据量巨大,团队使用了数据迁移工具与原生平台工具的交互来完成任务。 ![]() 使数据迁移尽可能顺利仔细的数据管理对于数据驱动型组织的成功至关重要,这一点在将企业数据仓库平台迁移到 Snowflake 等云平台时尤为重要。 Snowflake 迁移步骤
![]() Snowflake 迁移优势
挑战
迁移工具
最佳实践增量迁移:为降低风险,请考虑分阶段迁移。
将数据、应用程序和流程从旧系统迁移到 Snowflake 的云平台需要经过仔细考虑的迁移方法。Snowflake 迁移中采用的主要策略如下: 1. 直接迁移(重新托管)
![]() 2. 调整和优化(重构)
3. 重构
![]() 4. 混合迁移
5. 分阶段迁移
结论总之,我们可以得出结论,迁移到 Snowflake 具有多种优势,包括提高数据处理性能、降低成本和增强可伸缩性。无论是快速的直接迁移、更优化的迁移、完整的重构、分阶段的方法还是混合配置,迁移的成功都取决于所选的方法。为了使更改顺利进行,仔细的规划至关重要,包括全面的评估、数据准备和验证。通过将迁移策略与贵公司的目标和可用资源相匹配,您可以充分利用 Snowflake。这将实现更有效的数据管理和提供业务价值的见解。 |
我们请求您订阅我们的新闻通讯以获取最新更新。