写点什么

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

  • 2019-10-23
  • 本文字数:2158 字

    阅读完需:约 7 分钟

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

情况介绍


最近,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 进行平台迁移是一项宏大到不可能实现的任务。事实证明,这种担忧是没有根据的。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/how-the-aws-schema-conversion-tool-drove-trimbles-database-migration-successes/


2019-10-23 08:00862

评论

发布
暂无评论
发现更多内容

Android面经:入职网易的那一天,我哭了,狂刷200道数据结构与算法

android 程序员 移动开发

android面试之今日头条-字节跳动-android社招面试(附答案)

android 程序员 移动开发

Android面试官装逼失败之:关于Activity的启动模式,android界面开发工具

android 程序员 移动开发

Android面经分享:我是如何一举拿下阿里、抖音,html5图片左右移动

android 程序员 移动开发

Android隐藏系统状态栏(沉浸式状态栏)和设置状态栏颜色

android 程序员 移动开发

Android面试必问:Handler、Bitmap(1),kotlin数据库框架

android 程序员 移动开发

Android进阶——解密笔记,flutter人脸识别模块

android 程序员 移动开发

Android面试必备的集合源码详解,看完之后简历上多一个技能!

android 程序员 移动开发

Android题集四大组件之Content provider、BroadcastReceiver

android 程序员 移动开发

Android面试回忆录:Service有几种启动方式?,大佬带你看源码

android 程序员 移动开发

Android进阶:十一、视频播放器初体验,给大家安排上

android 程序员 移动开发

RabbitMQ详解——RabbitMQ服务端执行逻辑(三)

AiDaddy

RabbitMQ 服务端执行逻辑

【LeetCode】最长定差子序列Java题解

Albert

算法 LeetCode 11月日更

Android进阶难题:普通公司的程序员跟BAT大公司的技术差距在哪?该如何选择

android 程序员 移动开发

Android面试题之Java基础篇,安卓rxjava使用

android 程序员 移动开发

Android面试题之Listview篇,2021Android面试心得

android 程序员 移动开发

Android面试:来说一说Context吧,Android中的Context跟Java有什么区别

android 程序员 移动开发

Android跨进程通信导论,极致干货

android 程序员 移动开发

Android通用业务弹窗管理方案V2,hashmap扩容过程

android 程序员 移动开发

Android面试吃透这一篇就够了,没有拿不到的offer!1096页Android学习笔记

android 程序员 移动开发

Android面试心得必备技能储备详解,已拿到offer,androidhtml5开发框架

android 程序员 移动开发

Android面试必问:Handler、Bitmap,android插件化开源

android 程序员 移动开发

Android面试抱佛脚:进程间通讯学习,从Binder使用看起

android 程序员 移动开发

Android进阶:高仿抖音上下滑动分页视频,要求页面流畅

android 程序员 移动开发

Android面试主题整理合集(三),Android屏幕适配很难嘛其实也就那么回事

android 程序员 移动开发

【设计模式】第十一篇 - 装饰模式 - 孙悟空的六神装

Brave

设计模式 装饰模式 11月日更

Android高工面试(难度:四星,Android开发三年月薪才12K

android 程序员 移动开发

Android进阶——解密笔记(1),分享一些行业经验

android 程序员 移动开发

Android面试必备!爆火超全的《Android性能优化全方面解析

android 程序员 移动开发

Android高工面试(难度:四星(1),真的太香了

android 程序员 移动开发

Android进阶:用最详细的方式解析Android消息机制的源码

android 程序员 移动开发

AWS Schema Conversion Tool 是怎样帮助 Trimble 成功进行数据库迁移_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章