报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

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:00805

评论

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

号外!号外!极客时间出插件了😎

IT蜗壳-Tango

极客时间 9月日更 浏览器插件

世界的尽头是铁岭,互联网的尽头是它

艾小仙

如何从零搭建起一支技术团队

石云升

团队管理 管理 引航计划 内容合集 9月日更

三面美团、四面阿里成功斩下offer,下血本买的

Java 程序员 后端

使用Git分布式控制系统,怒斩腾讯和阿里的Offer

Java 程序员 后端

这可能是最细的ArrayList详解了!

程序员阿杜

Java ArrayList

三面蚂蚁惨败,面试官要求手写算法,从外包公司到今日头条offer

Java 后端

没有Linux服务器,该如何学习Linux呢?

Simon郎

大数据 Linux java;

【优化技术专题】「线程间的高性能消息框架」深入浅出Disruptor的使用和原理

码界西柚

Disruptor LinkedBlockingQueue ArrayBlockingQueue 9月日更

14 种编程语言书写关机脚本,真香

梦想橡皮擦

9月日更

什么是Spring-Cloud、需要掌握哪些知识点,Java面试常问的算法题

Java 程序员 后端

RocksDB原理及应用

hanaper

狄刚谈区块链:技术上去中心化并不等于管理去中心化

CECBC

Python代码阅读(第27篇):将变量名转换成驼峰形式

Felix

Python 编程 Code Programing 阅读代码

什么是事务数据库?,Java程序员面试题集大全

Java 程序员 后端

什么?语音合成开源代码不会跑,Follow me!

华为云开发者联盟

tensorflow 语音合成 Tacotron2 DeepMind 深度神经网络模型

北鲲云SaaS平台让生物医学关键环节不再靠“猜”

北鲲云

人才缺口超70万,15所高校新设区块链专业

CECBC

详解css中清除浮动的四种方式,float浮动怎么用更为合理

你好bk

最佳实践 方法论 大前端 html/css 语言 & 开发

三面滴滴Java岗,Java程序员校招蚂蚁金服

Java 程序员 后端

NDK-AAudio

Changing Lin

9月日更

Who is Mavenir?

俞凡

Mavenir

这可能是最细的HashMap详解了!

程序员阿杜

Java JVM ArrayList

Vite + Vue3 + OpenLayers

德育处主任

大前端 地图 vite Vue3 openlayers

【墨天轮专访第四期】华为云GaussDB:发挥生态优势,培养应用型DBA

华为云数据库小助手

GaussDB 交流 华为云数据库 人物访谈

阿里巴巴开源数据库--OceanBase从使用聊到架构剖析

hanaper

5 个网站将您的前端技能从 1 倍提升到 100 倍

云原生

学习 大前端 全栈

深入理解rtmp(三)之手把手实现握手协议

轻口味

音视频 RTMP 9月日更

手撸二叉树之二叉搜索树的最小绝对差

HelloWorld杰少

数据结构与算法 9月日更

Vue进阶(幺零七):arr.forEach() 跳出循环

No Silver Bullet

Vue 9月日更

【Flutter 专题】50 图解动画小插曲之 Lottie 动画

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

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