Oracle是非常強大的綜合資料庫,但同時也存在一些劣勢,比如由于采用集中式架構,無法很好地實作橫向擴充,并且其穩定性依賴于硬體。出于架構更新、降低成本和雲化等需求,越來越多的企業需要“去Oracle”。
日前,阿裡雲資料庫技術專家樊文凱在2019資料技術嘉年華大會上,為大家分享了Oracle資料庫異構上雲的最佳實踐。
![]()
最佳實踐 | 資料庫遷雲解決方案選型 & 流程全解析
本次分享主要圍繞以下5個方面:
- Oracle資料遷雲概述
- 資料庫&應用遷雲流程
- 資料庫遷雲解決方案
- 最佳實踐
- 企業異構遷雲建議
1、Oracle資料遷雲概述
衆所周知,Oracle是一個非常強大的綜合資料庫,但是Oracle也存在一些弱勢,比如因為采用集中式架構,是以無法很好地實作橫向擴充,并且其穩定性依賴于硬體,如需要IBM的小型機、EMC的存儲等。
此外,Oracle資料庫還存在技術依賴,很多使用者在開發時喜歡使用PL/SQL,是以在進行資料庫異構更新或者架構轉型時,不得不解決Oracle的技術依賴問題。
與此同時,Oracle資料庫的成本較高,使用Oracle資料庫需要搭配相應的小型機和存儲,并且往往難以很好地實作規模化管理。
2、資料庫&應用遷雲流程
企業往往出于架構更新、降低成本和雲化的需求,需要做“去O”。而“去O”一般分為以下幾個步驟。
第一步:進行遷移方案評估,分析如何遷移資料庫和應用,選用何種資料庫代替。這個過程中需要儲備很多知識,分析現有Oracle資料庫的所有資料對象與應用的關系,也需要判斷目标資料庫是否相容,遷移方案是否可行。
而選擇合适的目标資料庫來替換現有Oracle資料庫是比較困難的,因為用MySQL與PostgreSQL等資料庫替換Oracle時無法确定性能和負載的變化情況,隻能通過不斷地測試來完成。
此外,還需要盡量避免異構遷移的風險,需要保證遷移之後,應用和資料庫能夠良好适配。
第二步:資料庫和應用改造,資料庫切換肯定會存在不相容,這裡的不相容将是資料庫和應用架構轉型的“最後一公裡”。隻有搞定這“最後一公裡”,才能夠完成整個遷移方案。在這部分需要考慮對于資料庫和應用的改造方案。
第三步:資料庫和應用的割接,資料全量遷移比較容易,但異構資料庫增量遷移可能比較困難,因為會涉及大量資料變化、頻繁的DDL,甚至資料庫的資料類型、精度等不同,這些對于遷移而言都是巨大的挑戰。
最後:資料庫和應用的遷移評測,包括了資料庫護航,因為Oracle性能非常強大。是以需要保證遷移到其他資料庫之後,性能仍然能夠滿足業務系統的需求。
護航階段需要考慮如何應對突發事件,如何回退,以及面對複雜的資料庫和應用之間的關系,如何進行切換。
架構綜合梳理
對于大部分企業而言,可能不隻有一套Oracle資料庫,同樣也不隻有一套應用,而資料庫與資料庫、應用與應用,應用與資料庫之間可能存在各種各樣的關系,但企業并沒有一個綜合的架構圖或架構文檔來記錄這些内容,是以需要厘清資料庫和應用的關系,友善規劃資料庫和應用異構改造的路線。
資料庫場景梳理
此外,需要厘清現在Oracle資料庫的業務情況,是OLTP、OLAP還是TP和AP的混合場景,隻有這樣才能有針對性地選擇目标資料庫并規劃好替換方案。
改造内容
資料庫改造存在很多文法難點,首先需要進行文法轉換。因為不同資料庫引擎支援的文法不同,是以需要轉換DML、DDL和SQL的文法。
其次,還需要轉換應用代碼,因為某些情況下,SQL語句會内嵌在程式中,可能需要對于百萬行代碼逐行檢查并修改其中的SQL語句,這樣一來不僅工作量巨大,而且非常耗時。
确定改造方案
編制完資料庫和應用架構遷移方案後,還需要逐一梳理改造點和功能點并進行測試,造成整個去O的過程前期準備需要很長的時間和很多的精力。
3、資料庫遷雲解決方案
衆所周知,阿裡巴巴是國内第一批實踐去IOE理念的公司,當年阿裡的去IOE之路走得并不那麼順滑,遇到了很多困難,也踩了很多坑,沉澱下來了很多經驗,形成了今天的資料庫遷雲的最佳解決方案。
Oracle資料庫和應用異構遷移痛點
Oracle資料庫和應用異構遷雲全鍊路方案
阿裡雲将資料庫遷雲的過程經驗積累濃縮成為了資料庫和應用遷移(簡稱:ADAM)産品。ADAM能夠幫助我們分析整個IT系統的架構,并為遷移的目标資料庫提供選型建議。
ADAM産品目前優選推薦兩種資料庫遷雲方案,第一種OLTP平滑遷移解決方案,目标資料庫是POLARDB文法高度相容Oracle,是以僅需要少量改動,就可以直接遷移到阿裡雲或線下的POLARDB Box一體機中。該方案的特點是相容性以及如何适配,能否彈性擴充以及整體成本。
第二種是OLAP數倉雲化方案,針對提供數倉服務的Oracle資料庫,可以将其遷移到阿裡雲的ADB for PG上。該方案的關注點是對Oracle分析型SQL的改造以及能夠在雲上實作真正的彈性擴充,以及成本的降低。
将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認證遷移工具。
4、最佳實踐
資料庫遷雲選型建議
根據使用Oracle特性的多少将Oracle資料庫分為兩類,弱O特性和強O特性。對于前者,推薦快速上雲方案。因為所用的Oracle特性較少,是以快速遷移到開源資料庫MySQL或PostgreSQL中,以降低成本。
而後者使用的Oracle特性較多,是以推薦使用POLARDB Oracle相容版。ADAM提供了全鍊路的遷移方案。如果想實作整體架構更新,也可以直接對業務進行重構,實作業務的微服務劃分和資料庫的分庫分表,進而快速地實作IT系統的架構轉型。
POLARDB雲原生分布式關系型資料庫架構完全自主可控
POLARDB資料庫具有很多優勢,比如存儲與計算分離、RPO=0、自動讀寫分離、資料驅動、軟硬體協同,以及支援多模資料等。POLARDB是真正的雲原生分布式關系型資料庫,并且能夠做到架構完全自主可控。
POLARDB BOX一體機
一些金融型企業可能對資料庫的監管要求比較高,是以阿裡雲也提供了POLARDB BOX一體機,能夠使得企業線上下機房享受到雲原生資料庫的技術紅利。将雲資料庫帶到線下機房,充分使用DBaaS能力帶來的管控、性能便利。
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