作者 : Chanpreet Singh, Raza Hafeez, Harshida Patel, Ram Bhandarkar, 和 VijayBagur
日期 : 2024年8月1日
出处 : , , ,
大规模数据仓库迁移到云端是一项复杂且具有挑战性的工作,许多组织希望通过这一过程来现代化其数据基础设施、增强数据管理能力,并开辟新的商业机会。随着数据量的指数级增长,传统数据仓库解决方案可能难以满足日益增长的可扩展性、性能和高级分析需求。
迁移至 可以为组织提供更好的性价比、增强的数据处理能力、更快的查询响应时间以及与机器学习(ML)和人工智能(AI)等技术的更好集成。然而,在规划大规模数据仓库迁移时,可能会面临重大的挑战。从确保数据质量和完整性,到解决数据转换、模式映射、性能以及源数据仓库和目标数据仓库之间的兼容性问题,确实不易。
在此过程中,组织必须仔细考虑成本影响、安全和合规性要求、变更管理过程,以及迁移期间对现有业务操作可能造成的干扰。有效的规划、全面的风险评估以及良好设计的迁移策略对于减轻这些挑战至关重要,从而成功向新数据仓库环境过渡至亚马逊 Redshift。
本文将讨论评估、规划和实施大规模数据仓库迁移至亚马逊 Redshift 的最佳实践。
以下图示展示了使用亚马逊 Redshift 的可扩展迁移模式,用于提取、加载和转换(ELT)场景。

下面的图示展示了用于提取、转换和加载(ETL)场景的可扩展迁移模式。

所有利益相关者(生产者、消费者、操作员、审计员)对成功标准的对齐对于顺利过渡至新的亚马逊 Redshift现代数据架构至关重要。成功标准是数据工作流每个组成部分的关键性能指标(KPIs),包括捕获源数据的 ETL过程、功能细化和数据产品创建、商业指标的聚合,以及来自分析、商业智能(BI)和 ML 的消费。
KPIs确保您可以追踪和审核最佳实施,达到消费者的满意和信任,并在最终过渡过程中尽量减少中断。这些指标衡量工作负载趋势、成本使用、数据流通量、消费者数据呈现以及实际性能,确保新的数据平台能够满足当前和未来的商业目标。
从大规模关键任务单体遗留数据仓库(如 Oracle、Netezza、Teradata 或 Greenplum)进行的迁移通常需要 6 至 16个月,具体取决于现有实现的复杂性。这些在过去三十年中构建的单体数据仓库环境包含专有的业务逻辑以及多个数据设计模式。
作为操作性服务水平的成功标准,您需要记录新亚马逊 Redshift 数据仓库环境的预期服务水平,包括仪表盘查询或分析查询的期待响应时间、每日 ETL作业的运行时间、与消费者共享数据的期望时间、并发加载和报告的租户总数、以及高管或工厂运营的关键业务报告。
在现代数据架构过渡策略中,迁移至新的亚马逊 Redshift平台的目标是利用其可扩展性、性能、成本优化及额外的湖仓能力,从而改善现有数据消费体验。根据企业的文化和目标,遗留多租户数据平台迁移至亚马逊 Redshift可以采取以下战略之一:
大多数组织在将其大型数据平台迁移至亚马逊 Redshift 时,选择了有机策略(提升和转移)。采用 AWS 迁移工具,如 (AWSSCT)或托管服务版本 ,加速实现减少旧版许可费用和替代老旧平台的目标。
通过建立明确的成功标准和监控 KPIs,您可以顺利实施迁移至亚马逊 Redshift,满足性能和操作目标。周全的规划和优化至关重要,包括优化亚马逊 Redshift 配置和工作负载管理,解决并发需求,实施可扩展性,调优大结果集的性能,减少模式锁定,并优化连接策略。这将使 Redshift数据仓库得以成本有效地满足工作负载需求。全面的测试和性能优化将促进顺利过渡,并且最小化对终端用户的干扰,从而提升用户体验和满意度。成功的迁移依赖于前瞻性规划、持续监控和性能微调,从而与商业目标达成一致并付诸实践。
迁移过程包括以下几个阶段,后续部分将详细介绍:
要实现成功的亚马逊 Redshift 迁移,必须同时解决这些基础设施、安全和部署方面的考虑,从而实现平稳且安全的过渡。
在本节中,我们将讨论评估阶段可以采取的步骤。
对大规模本地数据仓库迁移到亚马逊 Redshift进行发现和评估是迁移过程中的关键一步。该阶段有助于识别潜在挑战,评估迁移复杂性,并收集必要信息以有效规划和实施迁移。可以使用以下步骤:
了解对象之间的依赖关系对于成功迁移至关重要。您可以利用系统目录视图以及在本地数据仓库上自定义查询,创建全面的对象依赖报告。该报告展示表、视图和存储过程之间如何相互依赖。这还需要分析间接依赖项(例如,在另一个视图之上构建的视图,且该视图又使用一组表),深入理解数据使用模式。
发现阶段为估算迁移工作量提供了方向。您可以将这些见解转化为明确的路线图,如下所示:
通过清晰的工作量估算,您现在可以确定迁移团队的规模。
将总估算工作量除以所需项目持续时间,以确定所需的总人月数。这提供了团队规模的高层次理解。
举个例子,假设要在 6 个月内完成从本地数据仓库到亚马逊 Redshift 的 ELT 迁移项目,我们可以基于模式数量(例如 30)和数据库表数量(例如 5,000),平均每个模式的迁移估算(如 4 周),来确定团队需求。我们可以推断出如下:
根据不同迁移任务所需的技能,组建适当的团队。平台架构师定义架构良好的平台,数据工程师负责模式转换和数据转换,DBA处理集群配置和工作负载监控。项目管理团队确保项目在预算内按时顺利进行。
例如,针对从 Informatica/Greenplum 迁移到目标 ,估算团队需求依赖于模式数量和租户数量(例如 50 种模式),数据库表数量(例如 10,000),每种模式的平均迁移估算(例如 6 周),以及业务功能数量(例如 5,000 种,根据简单、中等和复杂模式进行分类)。我们可以推断出如下:
迁移波次可通过以下方式确定:
在本节中,我们将讨论重构遗留 SQL 代码库以利用 Redshift SQL 最佳实践、建立验证程序以确保在过渡至 Redshift过程中准确性和完整性、捕获 KPIs 以确保对消费工具/下游应用的服务水平不低于原有标准的步骤,以及结合性能钩子和程序来实现可扩展和高性能的 Redshift 平台。
我们建议使用 AWS SCT 作为代码转换的第一步。AWS SCT 是一个功能强大的工具,可以简化数据库模式和代码迁移至亚马逊 Redshift的过程。借助其直观的界面和自动化转换能力,
Leave a Reply