亚马逊AWS官方博客

AWS Schema Conversion Tool 是怎样帮助 Trimble 成功进行数据库迁移

作者:Todd Hofert,Trimble Inc. 基础设施运营 – FSM 总监

情况介绍
最近,Trimble 现场服务管理部门的基础设施运营组开始采取积极措施,将其私人托管的 SaaS 产品迁移至 Amazon Web Services (AWS)。该部门面临硬件更新需求、持续降低成本的压力,同时还希望旧版产品与公司在 AWS 上的下一代平台协调一致。为了应对上述问题,Trimble 基础设施团队制定了从数据仓库解决方案着手的全面迁移计划。

降低成本、提高可用性和可扩展性是采用 AWS 方案的主要原因。Trimble 决定从 Oracle 迁移到开源数据库平台,来优化当前的授权费用。Trimble 还通过使用 Amazon RDS 运行数据库来帮助保证可靠性和降低运营支持开销。

选择数据库
Trimble 运营与数据库开发团队邀请了 AWS 团队协助评估从 Oracle 迁出数据库平台的复杂性。本次评估的中心是 AWS Schema Conversion Tool (AWS SCT) 评估报告。

我们的 Trimble 团队使用了 AWS SCT 来检查源 Oracle 数据库和 Amazon Relational Database Service (Amazon RDS) 开源数据库引擎之间的替代目标之间的“距离”。Trimble 还有第二个标准,即与现有 ETL 工具 (Informatica) 和报告产品 (Microstrategy) 协同工作的能力。我们认为采用这种方法能够使项目按时保质完成,同时避免范围蔓延。

我们发现,两种数据库都允许 Trimble 继续使用现有的前端解决方案。但是,AWS SCT 评估表明,RDS for PostgreSQL 与 Oracle 源数据库的差距更小,这也是我们选择它作为目标数据库的原因。Schema Conversion Tool 评估报告清晰展示:为了应对当前的数据库平台与 RDS for PostgreSQL 之间的功能性差距,需要对哪些地方进行改进。我们可以据此做出资源规划。

评估报告为 Trimble 提供了基础和框架,从而可以根据 RFP 进行招标,让第三方完成大量的迁移工作。这一基础使 Trimble 能够专注于其他迁移活动。因此,Trimble 与 Amazon 的合作伙伴 OpenSCG 建立了宝贵的合作伙伴关系,以推动数据库迁移活动顺利进行。如今,Trimble 仍与 OpenSCG 保持着良好的支持服务和培训计划合作关系。

Schema Conversion Tool 评估报告是了解此次迁移活动工作量的关键。我们原以为这会是一项需要投入大量人力的乏味工作,但事实证明这个过程非常简单。这项评估为该项目节省了几个月的时间。

 

迁移
Trimble 面向四家有相关能力的供应商进行了招标。在对标书进行审核后,Trimble 根据专业能力和知识深度对参与招标的供应商进行了筛选,最终与 OpenSCG 签订了合作协议。Trimble 委托 OpenSCG 解决已确定的功能性差距。OpenSCG 还编写了迁移脚本来搭建 PostgreSQL 数据库 schema,并将数据从源数据库移到了目标数据库。Trimble 的员工对这些工作提供了支持,并承担了与前端应用程序配置和验证相关的所有任务。

该项目分成了两个子项目。首先,团队集中进行了北美洲托管式迁移,然后进行了欧洲托管式迁移。北美数据库大小为 6.5 TB,平均每月增加 22 GB 左右。欧洲数据库为 4.6 TB,平均每月增加 33 GB。

团队使用现有私人托管的灾难恢复站点上的数据库副本作为迁移的源数据库。团队还在数据库旁边部署了 PostgreSQL 数据库虚拟机和数据迁移虚拟机。这些虚拟机使用 OpenSCG 提供的 schema 和脚本,将生产数据库迁移到目标 PostgreSQL 数据库中。成功完成迁移后,我们使用 AWS Snowball 将导出的 PostgreSQL 数据库运送到 AWS。在 AWS 上,导出的数据库导入了目标 RDS for PostgreSQL 实例。该流程在每个地理位置执行了两次。第一次迭代填充了测试数据;第二次迭代在验证后创建了生产数据集。

转换
现有的 ETL 流程在目前使用的私人托管数据仓库解决方案和生产前 RDS for PostgreSQL 解决方案之间保持同步。通过全面的 QA、功能和性能测试,以及数据完整性验证,发现了一些问题。团队在计划的上线日期之前妥善解决了这些问题。最大的挑战与 ETL 流程的性能有关,也与一些报告的性能问题有关。

实施团队的尽职调查使得转换工作顺利进行。ETL 运行和报告运行之间的这种转换是依照逻辑安排的;因此,对最终用户完全透明。

结果
Trimble FSM 由此完全淘汰了他们的传统数据仓库堆栈。Trimble 即将完全摆脱托管提供商。

本次数据仓库迁移代表了将所有托管解决方案迁移到 AWS 的大型项目的前三个阶段。迄今为止,Trimble 已经完成了两个生产数据仓库堆栈、其各自开发环境,以及北美和欧洲旧版生产应用程序堆栈的迁移。Trimble 目前正处于应用程序开发环境迁移的最后阶段,预计将在年底前完成。

据推测,这些项目可将 Trimble 基础设施的直接成本降至不到其原先私人托管基础设施的四分之一。公司还打算在未来使用其他 AWS 服务。Trimble 希望这些举措能够进一步降低运营开销。

总结
这个项目的要点如下:

使用所有可用资源进行彻底的尽职调查,以确定项目路线图。Trimble 使用了 AWS Schema Conversion Tool 并采纳了 AWS 客户团队的建议。事实证明这是项目成功的关键因素。

要毫不犹豫地利用外部资源和专业知识,为项目提供更多支持。通过与外部供应商进行合作来协助内部团队,能够将项目的完成时间缩短数月。

如果有必要,可以先思考理想的最终状态,然后倒推出可行方案。许多人认为从 Oracle 进行平台迁移是一项宏大到不可能实现的任务。事实证明,这种担忧是没有根据的。