> Oracle是非常强大的综合数据库,但同时也存在一些劣势,比如由于采用集中式架构,无法很好地实现横向扩展,并且其稳定性依赖于硬件。出于架构升级、降低成本和云化等需求,越来越多的企业需要“去Oracle”。
>
> 日前,阿里云数据库技术专家樊文凯在2019数据技术嘉年华大会上,为大家分享了Oracle数据库异构上云的最佳实践。
>
> ![640-28.jpeg](https://ucc.alicdn.com/pic/developer-ecology/2be600e3f19c4f22a134f710e3119f7c.jpeg)
#### 本次分享主要围绕以下5个方面:
1. Oracle数据迁云概述
2. 数据库&应用迁云流程
3. 数据库迁云解决方案
4. 最佳实践
5. 企业异构迁云建议
1、Oracle数据迁云概述
--------------
众所周知,Oracle是一个非常强大的综合数据库,但是Oracle也存在一些弱势,比如因为采用集中式架构,因此无法很好地实现横向扩展,并且其稳定性依赖于硬件,如需要IBM的小型机、EMC的存储等。
此外,Oracle数据库还存在技术依赖,很多使用者在开发时喜欢使用PL/SQL,因此在进行数据库异构升级或者架构转型时,不得不解决Oracle的技术依赖问题。
与此同时,Oracle数据库的成本较高,使用Oracle数据库需要搭配相应的小型机和存储,并且往往难以很好地实现规模化管理。
![640-29.jpeg](https://ucc.alicdn.com/pic/developer-ecology/cd2302fca1a14a9c981485ef06c9f4fe.jpeg)
2、数据库&应用迁云流程
------------
企业往往出于架构升级、降低成本和云化的需求,需要做“去O”。而“去O”一般分为以下几个步骤。
![640-30.jpeg](https://ucc.alicdn.com/pic/developer-ecology/51ef424e4d0f4066a40b536e068aff13.jpeg)
第一步:进行迁移方案评估,分析如何迁移数据库和应用,选用何种数据库代替。这个过程中需要储备很多知识,分析现有Oracle数据库的所有数据对象与应用的关系,也需要判断目标数据库是否兼容,迁移方案是否可行。
而选择合适的目标数据库来替换现有Oracle数据库是比较困难的,因为用MySQL与PostgreSQL等数据库替换Oracle时无法确定性能和负载的变化情况,只能通过不断地测试来完成。
此外,还需要尽量避免异构迁移的风险,需要保证迁移之后,应用和数据库能够良好适配。
第二步:数据库和应用改造,数据库切换肯定会存在不兼容,这里的不兼容将是数据库和应用架构转型的“最后一公里”。只有搞定这“最后一公里”,才能够完成整个迁移方案。在这部分需要考虑对于数据库和应用的改造方案。
第三步:数据库和应用的割接,数据全量迁移比较容易,但异构数据库增量迁移可能比较困难,因为会涉及大量数据变化、频繁的DDL,甚至数据库的数据类型、精度等不同,这些对于迁移而言都是巨大的挑战。
最后:数据库和应用的迁移评测,包括了数据库护航,因为Oracle性能非常强大。因此需要保证迁移到其他数据库之后,性能仍然能够满足业务系统的需求。
护航阶段需要考虑如何应对突发事件,如何回退,以及面对复杂的数据库和应用之间的关系,如何进行切换。
#### 架构综合梳理
对于大部分企业而言,可能不只有一套Oracle数据库,同样也不只有一套应用,而数据库与数据库、应用与应用,应用与数据库之间可能存在各种各样的关系,但企业并没有一个综合的架构图或架构文档来记录这些内容,因此需要厘清数据库和应用的关系,方便规划数据库和应用异构改造的路线。
![640-31.jpeg](https://ucc.alicdn.com/pic/developer-ecology/5dfe3a9f8b1b424480b0f37943abfc87.jpeg)
#### 数据库场景梳理
此外,需要厘清现在Oracle数据库的业务情况,是OLTP、OLAP还是TP和AP的混合场景,只有这样才能有针对性地选择目标数据库并规划好替换方案。
#### 改造内容
数据库改造存在很多语法难点,首先需要进行语法转换。因为不同数据库引擎支持的语法不同,因此需要转换DML、DDL和SQL的语法。
其次,还需要转换应用代码,因为某些情况下,SQL语句会内嵌在程序中,可能需要对于百万行代码逐行检查并修改其中的SQL语句,这样一来不仅工作量巨大,而且非常耗时。
#### 确定改造方案
编制完数据库和应用架构迁移方案后,还需要逐一梳理改造点和功能点并进行测试,造成整个去O的过程前期准备需要很长的时间和很多的精力。
3、数据库迁云解决方案
-----------
众所周知,阿里巴巴是国内第一批实践去IOE理念的公司,当年阿里的去IOE之路走得并不那么顺滑,遇到了很多困难,也踩了很多坑,沉淀下来了很多经验,形成了今天的数据库迁云的最佳解决方案。
#### Oracle数据库和应用异构迁移痛点
![640-32.jpeg](https://ucc.alicdn.com/pic/developer-ecology/9d03f17de8e145d38e506bbe307bf99d.jpeg)
#### Oracle数据库和应用异构迁云全链路方案
阿里云将数据库迁云的过程经验积累浓缩成为了数据库和应用迁移(简称:ADAM)产品。ADAM能够帮助我们分析整个IT系统的架构,并为迁移的目标数据库提供选型建议。
ADAM产品目前优选推荐两种数据库迁云方案,第一种OLTP平滑迁移解决方案,目标数据库是POLARDB语法高度兼容Oracle,因此仅需要少量改动,就可以直接迁移到阿里云或线下的POLARDB Box一体机中。该方案的特点是兼容性以及如何适配,能否弹性扩展以及整体成本。
![640-33.jpeg](https://ucc.alicdn.com/pic/developer-ecology/655a6a37c62647cb98aabb309a600934.jpeg)
第二种是OLAP数仓云化方案,针对提供数仓服务的Oracle数据库,可以将其迁移到阿里云的ADB for PG上。该方案的关注点是对Oracle分析型SQL的改造以及能够在云上实现真正的弹性扩展,以及成本的降低。
![640-34.jpeg](https://ucc.alicdn.com/pic/developer-ecology/48ff0ddf28424490a6c93373cff27cc7.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](https://ucc.alicdn.com/pic/developer-ecology/31a61e4009d64358b890717516bfba70.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](https://ucc.alicdn.com/pic/developer-ecology/27a01fb5e2824f2ab936f49e7cf0f006.jpeg)
#### AnalyticDB for PostgreSQL数据库
针对于数据仓库场景,阿里云AnalyticDB for PostgreSQL可以很好的支持大数据处理,实现真正的动态水平扩展。
5、企业异构迁云建议
----------
Oracle数据库的迁云过程需要一套完整的方法论和产品,帮助实现架构评估、数据库选型、迁移评估以及数据库应用改造,帮助实现应用解耦,并且还需要专业的服务来助力实现真正的零停机迁移,最终实现企业异构迁云。
[原文链接](https://yq.aliyun.com/articles/728022?utm_content=g_1000091248)
本文为云栖社区原创内容,未经允许不得转载。
分享到:
相关推荐
### Alibaba数据库运维最佳实践 #### Alibaba数据库发展历程及挑战 阿里巴巴作为全球领先的电商平台,在其发展过程中,数据库技术经历了从PC服务器到小型机、从集中式Oracle数据库到分布式MySQL数据库的重大转变。...
- **中间件解决方案**:许多企业开始探索中间件解决方案,通过将数据分片并利用SQL解析实现语句路由,解决了大规模数据存储与访问的问题。然而,这种方法在分布式事务处理和管理方面仍然存在挑战。 ##### 1.3 新型...
基于图数据库的知识图谱一体化解决方案 加码数据安全,微盟数据安全落地方案 统一存储平台架构与业务实践 开务数据服务平台及其在IoT数字能源场景的应用 开务数据库自治平台架构解析及应用分享 可计算存储在数据库...
本文将详细解析"数据库同步热备解决方案(某电力设计院)"的相关知识点,帮助读者理解如何构建高效、可靠的数据库备份系统。 首先,数据库同步是指将主数据库中的数据实时或定时地复制到备用数据库上,以保持两者的...
5. **挑战与解决方案** - **数据一致性**:使用Event Sourcing和CQRS(命令查询责任分离)处理分布式事务。 - **服务间依赖管理**:使用服务编排工具如Istio进行服务发现和依赖管理。 - **安全性**:实施OAuth2、...
通过消除关系型数据库的JOIN瓶颈,提供灵活的数据建模,以及利用图算法进行深度分析,图数据库已经成为解决高成长业务需求的关键工具。随着技术的不断发展,图数据库的性能和应用场景将进一步拓宽,对银行业乃至整个...
所以在选型之前,有必要对目前市场上各种大数据量的解决方案进 行分析。 主流分布式并行处理数据库产品介绍 1 Greenplum 1 基础架构 Greenplum是基于Hadoop的一款分布式数据库产品,在处理海量数据方面相比传统数 据...
《Visual C#.NET数据库开发经典案例解析之进销存管理系统》是针对初学者设计的一份详尽教程,旨在帮助读者掌握使用Visual C#.NET进行数据库开发的技能,特别是如何构建进销存管理系统的实践知识。这份教程包含了完整...
### Oracle数据库向PostgreSQL迁移的最佳实践 #### 一、背景介绍 随着云计算技术的发展和企业对数据处理需求的增加,越来越多的企业开始考虑将其原有的Oracle数据库迁移至更灵活、成本更低的解决方案,如PostgreSQL...
论文详细阐述了系统开发背景、目标功能和开发流程,重点探讨了设计难点、设计理念和技术解决方案。在数据库理论基础上,介绍了数据库的发展历程,包括早期发展、特点及现代数据库技术的关键概念,如数据库模型、体系...
4. 跨平台兼容性:如果企业使用多种数据库,应选择支持多种数据库审计的解决方案。 5. 法规遵从性:时刻关注法规更新,确保审计系统满足最新的合规要求。 总结,数据库审计系统是保障企业信息安全的重要工具,其...
NewSQL家族也不甘落后,TiDB发布了2.1RC2版本,CockroachDB发布了2.0版本,为混合事务/分析型工作负载提供了新的解决方案。 在大数据生态圈,Hadoop发布了3.1.1版本,ElasticSearch发布了6.4.1版本,Apache HAWQ...
因此,分布式数据库成为了解决方案之一。 - **NoSQL时代的到来**:2006年后,HBase、Cassandra、MongoDB等NoSQL产品应运而生,它们具备水平扩展能力,但牺牲了一部分功能,如事务处理和SQL接口。 - **新型分布式...
### 环保数字化解决方案-智慧环保-解决方案 #### 一、背景分析 在当前环境问题日益严峻的大背景下,环境保护工作已经成为国家发展战略中的关键组成部分。传统意义上的环保管理方式已难以应对现代社会快速变化的...
### 关系数据库性能热点问题解析与应对策略 #### 一、引言 随着云计算技术的快速发展,越来越...未来随着技术的发展,更加完善和灵活的云原生存储解决方案将会出现,为关系型数据库在云环境中的应用提供更多可能性。
本文将深入探讨MySQL数据库的架构及其运维实践,结合私有云RDS的实践案例,解析数据库管理和优化的关键点。 首先,文章介绍了乐视数据库平台的情况,涵盖多种类型的数据库,包括MySQL、Oracle、MongoDB和Redis等。...
而MySQL则是一款广泛使用的开源关系型数据库管理系统,它为数据存储和检索提供了高效、可靠的解决方案。 JBOA系统的核心设计可能包括以下几个关键知识点: 1. **MVC设计模式**:JBOA可能采用了Model-View-...
技术架构选型报告方案是一个指导性文件,它帮助项目团队或企业决策者了解在构建系统时如何选择合适的技术组件。本文档以“最高院执行项目技术架构选型方案Fantasy”为例,详细阐述了系统总体架构、各个技术组件的...
云上实践端到端图搜解决方案,展示了阿里云在云上实践方面的优势和创新。 第 2 回|妙手神医瑶池诊疗实录 第 2 回|妙手神医瑶池诊疗实录:数据库存储空间去哪儿了?展示了阿里云在数据库存储空间管理方面的优势和...
### NOSQL内存数据库选型报告关键知识点解析 #### 一、背景与挑战 随着互联网技术的迅猛发展,特别是Web2.0时代的到来,传统的关系型数据库(如MySQL、Oracle等)面临着诸多挑战,尤其是在应对高并发读写、海量数据...