最佳实践 | 数据库迁云解决方案选型 & 流程全解析

简介: Oracle数据库异构上云的最佳实践
+关注继续查看

Oracle是非常强大的综合数据库,但同时也存在一些劣势,比如由于采用集中式架构,无法很好地实现横向扩展,并且其稳定性依赖于硬件。出于架构升级、降低成本和云化等需求,越来越多的企业需要“去Oracle”。

日前,阿里云数据库技术专家樊文凯在2019数据技术嘉年华大会上,为大家分享了Oracle数据库异构上云的最佳实践。

640-28.jpeg

本次分享主要围绕以下5个方面:

  1. Oracle数据迁云概述
  2. 数据库&应用迁云流程
  3. 数据库迁云解决方案
  4. 最佳实践
  5. 企业异构迁云建议

1、Oracle数据迁云概述

众所周知,Oracle是一个非常强大的综合数据库,但是Oracle也存在一些弱势,比如因为采用集中式架构,因此无法很好地实现横向扩展,并且其稳定性依赖于硬件,如需要IBM的小型机、EMC的存储等。

此外,Oracle数据库还存在技术依赖,很多使用者在开发时喜欢使用PL/SQL,因此在进行数据库异构升级或者架构转型时,不得不解决Oracle的技术依赖问题。

与此同时,Oracle数据库的成本较高,使用Oracle数据库需要搭配相应的小型机和存储,并且往往难以很好地实现规模化管理。
640-29.jpeg

2、数据库&应用迁云流程

企业往往出于架构升级、降低成本和云化的需求,需要做“去O”。而“去O”一般分为以下几个步骤。
640-30.jpeg

第一步:进行迁移方案评估,分析如何迁移数据库和应用,选用何种数据库代替。这个过程中需要储备很多知识,分析现有Oracle数据库的所有数据对象与应用的关系,也需要判断目标数据库是否兼容,迁移方案是否可行。

而选择合适的目标数据库来替换现有Oracle数据库是比较困难的,因为用MySQL与PostgreSQL等数据库替换Oracle时无法确定性能和负载的变化情况,只能通过不断地测试来完成。

此外,还需要尽量避免异构迁移的风险,需要保证迁移之后,应用和数据库能够良好适配。

第二步:数据库和应用改造,数据库切换肯定会存在不兼容,这里的不兼容将是数据库和应用架构转型的“最后一公里”。只有搞定这“最后一公里”,才能够完成整个迁移方案。在这部分需要考虑对于数据库和应用的改造方案。

第三步:数据库和应用的割接,数据全量迁移比较容易,但异构数据库增量迁移可能比较困难,因为会涉及大量数据变化、频繁的DDL,甚至数据库的数据类型、精度等不同,这些对于迁移而言都是巨大的挑战。

最后:数据库和应用的迁移评测,包括了数据库护航,因为Oracle性能非常强大。因此需要保证迁移到其他数据库之后,性能仍然能够满足业务系统的需求。

护航阶段需要考虑如何应对突发事件,如何回退,以及面对复杂的数据库和应用之间的关系,如何进行切换。

架构综合梳理

对于大部分企业而言,可能不只有一套Oracle数据库,同样也不只有一套应用,而数据库与数据库、应用与应用,应用与数据库之间可能存在各种各样的关系,但企业并没有一个综合的架构图或架构文档来记录这些内容,因此需要厘清数据库和应用的关系,方便规划数据库和应用异构改造的路线。
640-31.jpeg

数据库场景梳理

此外,需要厘清现在Oracle数据库的业务情况,是OLTP、OLAP还是TP和AP的混合场景,只有这样才能有针对性地选择目标数据库并规划好替换方案。

改造内容

数据库改造存在很多语法难点,首先需要进行语法转换。因为不同数据库引擎支持的语法不同,因此需要转换DML、DDL和SQL的语法。
其次,还需要转换应用代码,因为某些情况下,SQL语句会内嵌在程序中,可能需要对于百万行代码逐行检查并修改其中的SQL语句,这样一来不仅工作量巨大,而且非常耗时。

确定改造方案

编制完数据库和应用架构迁移方案后,还需要逐一梳理改造点和功能点并进行测试,造成整个去O的过程前期准备需要很长的时间和很多的精力。

3、数据库迁云解决方案

众所周知,阿里巴巴是国内第一批实践去IOE理念的公司,当年阿里的去IOE之路走得并不那么顺滑,遇到了很多困难,也踩了很多坑,沉淀下来了很多经验,形成了今天的数据库迁云的最佳解决方案。

Oracle数据库和应用异构迁移痛点

640-32.jpeg

Oracle数据库和应用异构迁云全链路方案

阿里云将数据库迁云的过程经验积累浓缩成为了数据库和应用迁移(简称:ADAM)产品。ADAM能够帮助我们分析整个IT系统的架构,并为迁移的目标数据库提供选型建议。

ADAM产品目前优选推荐两种数据库迁云方案,第一种OLTP平滑迁移解决方案,目标数据库是POLARDB语法高度兼容Oracle,因此仅需要少量改动,就可以直接迁移到阿里云或线下的POLARDB Box一体机中。该方案的特点是兼容性以及如何适配,能否弹性扩展以及整体成本。
640-33.jpeg

第二种是OLAP数仓云化方案,针对提供数仓服务的Oracle数据库,可以将其迁移到阿里云的ADB for PG上。该方案的关注点是对Oracle分析型SQL的改造以及能够在云上实现真正的弹性扩展,以及成本的降低。

640-34.jpeg

将Oracle数据库和应用异构迁移分为六步,即数据采集、数据库智能分析、应用评估分析、数据库和应用改造、项目实施和割接护航。

数据库和应用异构迁移全链解决方案工具

ADAM还为数据库和应用异构迁移提供了全流程解决方案工具,ADAM SaaS是Oracle迁移评估大脑,提供专业、丰富、可视化的数据库和应用评估服务,静态或动态交互报告,应用改造管理,支持自动生成测试迁移计划。

ADAM Studio是Oracle迁移改造产品,能够提供稳定、易用的数据库迁移测试与改造工具集,支持自动生成割接迁移计划,实现仿真与割接环境计划自动同步。
DSG for ADMA是ADAM认证Oracle迁移割接与同步产品,能够提供稳定、可靠的数据迁移与校验工具集,以ADAM迁移计划为核心,提供场景化、流程化、自动化的数据全量迁移、增量迁移、数据校验、数据修正能力。
数据传输工具DTS是阿里云数据库传输工机具,同样支持数据源间的数据交互,能够帮助用户实现全量和增量迁移数据。

ADAM关键技术

ADAM的核心是智能采集、智能评估、智能改造和配套工具。
智能采集不需要人为采集数据库和应用程序的内容,以采集agent产品实现自动采集,采集后数据将落到本地,保证了核心资产的数据安全。
智能评估会逐一对比不同数据库性能和语法等,并推荐目标数据库选型及生成数据库和应用异构迁移解决方案。而借助配套工具和智能改造系统,可以快速完成改造过程,如,将改造周期从6个月缩短到1个月。
ADAM产品根据数据库兼容性将数据库对象改造难度分为4级,并加以不同的处理。

此外,ADMA还提供了ADMA studio实现结构迁移和数据预迁移,SQL在线翻译工具能够将Oracle的SQL语句转化为其他数据库的SQL语句,PL/SQL转Java工具能够将PL/SQL语言转Java语言,此外还有SQL对测工具和ADAM认证迁移工具。
640-35.jpeg

4、最佳实践

数据库迁云选型建议

根据使用Oracle特性的多少将Oracle数据库分为两类,弱O特性和强O特性。对于前者,推荐快速上云方案。因为所用的Oracle特性较少,因此快速迁移到开源数据库MySQL或PostgreSQL中,以降低成本。

而后者使用的Oracle特性较多,因此推荐使用POLARDB Oracle兼容版。ADAM提供了全链路的迁移方案。如果想实现整体架构升级,也可以直接对业务进行重构,实现业务的微服务划分和数据库的分库分表,进而快速地实现IT系统的架构转型。

POLARDB云原生分布式关系型数据库架构完全自主可控

POLARDB数据库具有很多优势,比如存储与计算分离、RPO=0、自动读写分离、数据驱动、软硬件协同,以及支持多模数据等。POLARDB是真正的云原生分布式关系型数据库,并且能够做到架构完全自主可控。

POLARDB BOX一体机

一些金融型企业可能对数据库的监管要求比较高,因此阿里云也提供了POLARDB BOX一体机,能够使得企业在线下机房享受到云原生数据库的技术红利。将云数据库带到线下机房,充分使用DBaaS能力带来的管控、性能便利。
640-36.jpeg

AnalyticDB for PostgreSQL数据库

针对于数据仓库场景,阿里云AnalyticDB for PostgreSQL可以很好的支持大数据处理,实现真正的动态水平扩展。

5、企业异构迁云建议

Oracle数据库的迁云过程需要一套完整的方法论和产品,帮助实现架构评估、数据库选型、迁移评估以及数据库应用改造,帮助实现应用解耦,并且还需要专业的服务来助力实现真正的零停机迁移,最终实现企业异构迁云。

PPT获取方式:

在公众号「阿里巴巴数据库技术」后台回复「最佳实践」即可获取讲师演讲PPT

阿里云数据库和MongoDB

要联手“搞事情”了!

11月26日

我们将在北京举办

【阿里云-MongoDB战略合作发布会】

报名方法

线下发布会报名:

本次发布会采取邀请制,另有少部分名额对外开放,有意参会者请戳这里填写报名信息,会务组将在11月25日22点前向获得参会资格者发放正式邀请函。
报名链接:https://page.aliyun.com/form/act246584723/index.htm

线上直播报名:

未能到场的朋友们戳下方链接,立即预约线上直播!

直播链接:https://developer.aliyun.com/live/1705

发布会最终版.jpg

相关实践学习
数据库实验室挑战任务-初级任务
本场景介绍如何开通属于你的免费云数据库,在RDS-MySQL中完成对学生成绩的详情查询,执行指定类型SQL。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
相关文章
|
7天前
|
运维 关系型数据库 MySQL
数据库选型最佳实践(二)
数据库选型最佳实践(二)
32 0
|
7天前
|
运维 关系型数据库 数据库
数据库选型最佳实践(一)
数据库选型最佳实践(一)
28 0
|
4月前
|
SQL 机器学习/深度学习 缓存
企业运维训练营之数据库原理与实践—数据库DAS简介和备份上云方案—性能诊断与优化(上)
企业运维训练营之数据库原理与实践—数据库DAS简介和备份上云方案—性能诊断与优化(上)
|
4月前
|
SQL 运维 5G
企业运维训练营之数据库原理与实践—数据库DAS简介和备份上云方案—性能诊断与优化(下)
企业运维训练营之数据库原理与实践—数据库DAS简介和备份上云方案—性能诊断与优化(下)
|
4月前
|
运维 关系型数据库 Serverless
《Serverless数据库技术研究报告》——三、 Serverless数据库技术趋势——(一)屏蔽底层数据库操作,提升易用性
《Serverless数据库技术研究报告》——三、 Serverless数据库技术趋势——(一)屏蔽底层数据库操作,提升易用性
139 0
|
10月前
|
SQL 存储 关系型数据库
数据库生态工具&架构方案| 学习笔记(二)
快速学习数据库生态工具&架构方案
119 0
数据库生态工具&架构方案| 学习笔记(二)
|
10月前
|
SQL 存储 运维
数据库生态工具&架构方案| 学习笔记(一)
快速学习数据库生态工具&架构方案
213 0
数据库生态工具&架构方案| 学习笔记(一)
|
10月前
|
存储 分布式计算 物联网
云上数据库架构综合解决方案|学习笔记
快速学习云上数据库架构综合解决方案
91 0
云上数据库架构综合解决方案|学习笔记
|
10月前
|
SQL 安全 Cloud Native
NineData数据管理平台正式上线,开发者必备的数据库产品
11月1日,NineData 多云数据管理平台正式上线,构建全球领先的多云数据管理平台。NineData提供数据备份、复制、对比和企业级SQL开发服务,让您的数据管理更安全更高效。本次发布会演示了如何通过NineData的数据管理平台,实现1分钟配置企业级数据备份。
379 0
NineData数据管理平台正式上线,开发者必备的数据库产品
|
存储 SQL 运维
自建数据库没有审计方案?试试这套轻量级低成本方案
数据库安全,是指以保护数据库系统、数据库服务器和数据库中的数据、应用、存储,以及相关网络连接为目的,是防止数据库系统及其数据遭到泄露、篡改或破坏的安全技术。数据库审计隶属于数据库安全,相关领域也包含数据库防火墙,数据库加密等。本文主要介绍数据库审计方案。
606 1
相关产品
云数据库 Redis 版
云数据库 MongoDB 版
云数据库 RDS
推荐文章
更多