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

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 Tair(兼容Redis),内存型 2GB
简介: 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

目录
相关文章
|
3月前
|
运维 监控 关系型数据库
AI 时代的 MySQL 数据库运维解决方案
本文探讨了大模型与MySQL数据库运维结合所带来的变革,介绍了构建结构化运维知识库、选择合适的大模型、设计Prompt调用策略、开发MCP Server以及建立监控优化闭环等关键步骤。通过将自然语言处理能力与数据库运维相结合,实现了故障智能诊断、SQL自动优化等功能,显著提升了MySQL运维效率和准确性。
350 18
|
24天前
|
存储 域名解析 弹性计算
阿里云上云流程参考:云服务器+域名+备案+域名解析绑定,全流程图文详解
对于初次通过阿里云完成上云的企业和个人用户来说,很多用户不仅是需要选购云服务器,同时还需要注册域名以及完成备案和域名的解析相关流程,从而实现网站的上线。本文将以上云操作流程为核心,结合阿里云的活动政策与用户系统梳理云服务器选购、域名注册、备案申请及域名绑定四大关键环节,以供用户完成线上业务部署做出参考。
|
6月前
|
存储 XML JSON
Activiti 7 核心数据库表概览及流程生命周期中的作用
Activiti 7 工作流引擎通过约25张核心数据库表实现流程定义、运行时状态、历史记录与身份数据的存储。表名以ACT_开头,后跟标识用途的字母组合(如RE表示Repository静态信息,RU表示Runtime动态数据)。流程启动时在运行时表登记数据,任务执行中更新关联信息,结束时清理运行时记录并完善历史记录。各表分工明确且逻辑紧密关联,确保高效运行与完整留痕的平衡。掌握这些表的作用和关联有助于深入理解Activiti底层原理及进行高级应用开发。
400 0
|
5月前
|
Cloud Native 关系型数据库 分布式数据库
阿里云PolarDB与沃趣科技携手打造一体化数据库解决方案,助推国产数据库生态发展
阿里云瑶池数据库与沃趣科技将继续深化合作,共同推动国产数据库技术的持续创新与广泛应用,为行业生态的繁荣注入更强劲的技术动力。
阿里云PolarDB与沃趣科技携手打造一体化数据库解决方案,助推国产数据库生态发展
|
4月前
|
运维 监控 关系型数据库
AI 时代的 MySQL 数据库运维解决方案
本方案将大模型与MySQL运维深度融合,构建智能诊断、SQL优化与知识更新的自动化系统。通过知识库建设、大模型调用策略、MCP Server开发及监控闭环设计,全面提升数据库运维效率与准确性,实现从人工经验到智能决策的跃迁。
467 26
|
3月前
|
SQL 安全 关系型数据库
数据库安全管理新范式:DBKEEPER一体化数据库权限管控堡垒机解决方案
在数字化时代,数据库安全至关重要。DBKEEPER提供一站式数据库安全访问与权限管控解决方案,支持多种数据库,具备精细化权限管理、数据脱敏、高危操作拦截、全面审计等功能,助力企业实现智能、安全的数据治理,满足金融、医疗、互联网等行业合规需求。选择DBKEEPER,让数据库安全管理更高效!
数据库安全管理新范式:DBKEEPER一体化数据库权限管控堡垒机解决方案
|
6月前
|
负载均衡 算法 关系型数据库
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL集群架构负载均衡故障排除与解决方案
本文深入探讨 MySQL 集群架构负载均衡的常见故障及排除方法。涵盖请求分配不均、节点无法响应、负载均衡器故障等现象,介绍多种负载均衡算法及故障排除步骤,包括检查负载均衡器状态、调整算法、诊断修复节点故障等。还阐述了预防措施与确保系统稳定性的方法,如定期监控维护、备份恢复策略、团队协作与知识管理等。为确保 MySQL 数据库系统高可用性提供全面指导。
|
6月前
|
SQL 运维 监控
数据库国产化选型?YashanDB 给中大型企业的五个答案
近两年,“国产数据库”成为企业数字化升级的重要议题。YashanDB作为新一代国产关系型数据库,以完整产品矩阵解决企业核心关切:通过图形化工具提升开发效率;提供自动化迁移平台简化数据库切换;云管理工具减轻运维负担;支持复杂业务场景;拥有成熟团队保障企业级服务。YashanDB不仅是“可替代”,更是“更可靠”的选择,助力企业实现高效、可控的数据库升级。
|
7月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。

推荐镜像

更多
  • DNS