OceanBase遷移服務:向分佈式架構升級的直接路徑

2019年1月4日,OceanBase遷移服務解決方案在ATEC城市峯會中正式發佈。螞蟻金服資深技術專家師文匯和技術專家韓谷悅共同分享了OceanBase遷移服務的重要特性和業務實踐。數據庫

螞蟻數據庫架構的三代升級史

在過去的十多年時間裏,螞蟻在整個基礎數據庫架構上一共經歷了三代升級。第一代數據架構是構建在IOE的基礎之上——IBM的小型機、Oracle的商業數據庫,還有EMC的共享存儲。基於第一代IOE架構的運維成本是很是高的,同時穩定性的挑戰也是很是大的。隨着業務的快速發展,這套架構已經徹底沒有辦法適應業務發展的增速。網絡

隨之誕生的是第二代架構,第二代架構的主體是OE——也就是Oracle和EMC,加上螞蟻自身的分佈式中間件,解決了業務的水平和垂直的彈性能力。這一代架構其實伴隨着螞蟻走了不少年。架構

隨着4G、5G時代的到來和金融的普及化,人們的生活愈來愈離不開移動支付,業務井噴式的發展給底層的數據庫提出了更高的要求。這些要求包括更高的穩定性,快速恢復能力和極致的彈性能力等。運維

因而最終演進到了咱們現在的第三代架構。第三代架構是由OceanBase爲表明的金融級雲數據庫和分佈式中間件所構成。分佈式

數據庫架構升級的挑戰

伴隨着整個螞蟻的發展,整個數據庫的架構也僅僅演進了三代。這其中一個很重要的緣由就是對於任何企業而言,整個數據庫的架構升級都是一件很是有挑戰的事情。模塊化

螞蟻金服資深技術專家師文匯說道,用一個咱們內部常常說的比喻,就是數據庫的架構升級就好像是在給一個高速運行的飛機更換引擎。」工具

更換引擎的目的是爲了擁有更好的動力,作更多技術上的創新。可是橫亙在眼前的問題是,如何才能作到穩妥創新,保證駕駛中的飛機平穩順利的運行,這實際上是有很是大的挑戰。性能

在過去三代架構的演進中咱們能夠看到,本質上每一代架構的迭代基本上都是以兩到三年爲週期,這其中會有很是高的人力投入和成本開銷測試

第二個挑戰就是從傳統的商業數據庫遷移到OceanBase數據庫之上,咱們如何保證遷移過程當中以及遷移之後的穩定性優化

另一個很是大的挑戰就是數據質量,在金融企業裏,數據承載的不只只是錢,更承載了數以億計用戶的信任。因此數據一條不能丟,一條不能錯,這是咱們作數據庫的底線

固然,包括兼容性問題和性能風險也給數據庫的架構升級帶來重重挑戰。

OceanBase遷移服務:向分佈式架構升級的直接路徑

基於上述問題和挑戰,同時通過螞蟻十年數據庫架構升級的先進經驗,螞蟻金服爲客戶打造了這款一站式數據遷移解決方案——OceanBase遷移服務(OceanBaseMigration Service,簡稱OMS)。

OMS的發展演進

OMS的演進是以業務爲驅動,而且與OceanBase的架構升級和不斷髮展密不可分。

早在2014-2015年期間,螞蟻主站上的一些核心業務,包括你們熟知的交易業務,支付業務和會員業務等,須要從Oracle遷移到OceanBase上。當時的OMS仍是以一個工具類、模塊化的形態支撐着這些項目。

因此在2015年咱們開始對OMS的方案進行全面的調研,力求沉澱出通用的系統化的解決方案。

在2016年,OMS已經有了平臺化的架構,引入了大規模編排的思想,將整個遷移特別是切換過程當中繁瑣易錯的環節所有集成到平臺。這一時期,OceanBase也完成了從0.5版本到1.0版本的架構升級,這一年OMS還支撐了網商銀行、印度PayTM以及主站的核心業務升級到OceanBase 1.0版本。

到了2018年的時候,不管在基礎功能層面仍是任務編排層面,OMS都已經被打磨得日趨完善。今年OMS已經支持了螞蟻森林,螞蟻商戶平臺以及衆多大量核心及非核心的業務從MySQL遷移到OceanBase之上。與此同時,在外部業務包括不少已經上線OceanBase的商業銀行,也已經驗證了使用OMS一鍵遷移到OceanBase的能力。

OMS的方案優點

OceanBase遷移服務其實主要解決了五個重要的問題。

1.負載回放驗證:其中第一個核心的問題就是負載回放驗證,經過採集源端數據庫的SQL流量,在目標庫OceanBase上回放,能夠驗證其在OceanBase上的功能是否兼容、性能是否出現問題等。同時基於螞蟻DBA十多年的經驗沉澱,OMS會爲客戶提供性能等方面的調優建議。

2.秒級數據校驗:第二點就是數據校驗,OMS有三層數據校驗,能夠作到秒級的延遲。舉一個例子,好比說咱們想把傳統商業數據庫替換成OceanBase,若是在遷移過程當中任何一條數據出現了錯誤,在一秒鐘內就能夠快速發現。校驗的延遲能夠徹底保證在一秒之內,根據螞蟻線上的經驗,大概在100-200毫秒之間。

3.分鐘級即時回滾:第三點也是最重要的一點,就是OMS有隨時回滾的能力,並且回滾是無損的。這也是咱們前面所強調的穩妥創新的基石。

4.多種數據庫類型支持:目前OMS支持源端數據庫類型有Oracle、MySQL、OceanBase等等,支持全量遷移和增量數據同步。

5.一鍵完成遷移:整個數據遷移鏈路和回滾機制的搭建基本上都是經過一鍵操做完成,使用簡便。

OMS的技術架構

OMS的核心方案其實很是簡單,咱們把OceanBase變成Oracle/MySQL的一個備庫。

傳統的商業數據庫通常都是有主庫和備庫的:主庫承擔寫的流量,若是主庫出現問題,咱們會把數據切到備庫,而後經過OMS提供的一整套虛擬主備庫的解決方案完成切換。好比原來Oracle有一個主庫一個備庫,而後OceanBase其實變成了一個虛擬的備庫。

整個數據庫架構的升級也會變得異常簡單,簡單到只是作了一個主備切換。回滾也會變得很是簡單,其實也是作了一次主備切換。

從OMS的總體架構來看,其實一個很是關鍵的點就是,咱們在傳統的商業數據庫和OceanBase之間創建了一套虛擬的主備鏈路,整個OMS裏用到的全部組件,其實都是在螞蟻和阿里有不少年技術沉澱的,也都是基於真實場景所產生的。

OMS的遷移流程

OceanBase遷移服務的總體遷移流程其實只有七步。

1.評估:首先第一步是經過負載回放工具作兼容性分析;

2.PoC:接下來OceanBase雲平臺能夠幫助客戶部署一套PoC集羣;

3.預遷移:而後OMS把線上的Oracle的數據預遷移到一個測試庫裏;

4.驗證:在這個測試庫裏用負載回放工具去回放這些SQL,而後找到SQL裏不兼容,性能或者數據質量不知足預期的部分,並提供優化建議;

5.正式遷移:前四步作完了之後,業務須要調整或者須要優化的SQL已經完成優化,而後就能夠正式遷移了。首先把原有的全量數據遷過來,而後再把增量變化的那部分數據實時同步過來;

6.校驗:等到全部的數據準備好之後,而後咱們繼續完成三級校驗;

7.切換和回滾:等到全部的校驗都完成之後,能夠一鍵完成切換和回滾功能。

經過這七步就能夠輕鬆完成從傳統商業數據庫到分佈式數據庫的完整遷移。

螞蟻商戶平臺基於OMS的業務實踐

螞蟻商戶平臺承載着商戶檔案數據信息,訂購關係、簽約信息的數據和相應的服務能力。其中一部分業務使用的是MySQL數據庫,還有一部分核心業務使用的是Oracle數據庫。

隨着商戶的快速增加以及業務場景的不斷豐富,商戶平臺數據增加迅速,數據規模至關龐大。尤爲是MySQL的單表瓶頸日益明顯,DDL變動、DML更新的性能與風險已經沒法承擔。

螞蟻金服技術專家韓谷悅介紹道,「OceanBase可以支持數據的無限擴展,知足商戶業務的容量與性能需求。那麼若是咱們換一種數據庫底盤,其實所要面對的性能、穩定性和數據質量的風險一樣不可避免。」

從螞蟻商戶平臺的業務實踐來看,使用OMS遷移與傳統遷移進行對比,咱們能夠看到:

· 業務評估和改造

過去一般一個業務少則花費1-2個月的時間去作改造和適配;那麼基於OMS自動化的SQL兼容性評估和負載回放的能力,螞蟻商務平臺業務的改造大概只用了一個星期的時間。

· 數據遷移和校驗

客觀來說,遷移的總時長主要取決於業務數據模型,數據量和網絡環境。在提升遷移效率方面,OMS目前增量遷移的延遲僅爲毫秒級,跨城狀況下最長只須要3秒。而且針對校驗出的數據差別提供補齊的SQL和訂正方案,使得遷移和校驗的總體效率有了大幅度的提高。

· 業務切換

其實在切換以前,每每須要制定嚴密的切流方案和Failover方案,整個切換過程當中須要檢查與校驗的細節很是繁瑣,任何一步疏忽都有可能形成數據不一致的問題。那麼OMS經過引入大規模編排的思想,把全部繁瑣複雜的環節統統落到平臺當中。因此從原來業務切換須要用時1-2周時間, 使用OMS後螞蟻商戶平臺業務不管是切讀仍是切寫的過程當中都只用了幾分鐘的時間。

· 業務回滾

在過去,遷移以後的業務回滾要擔負重大的決策風險,OMS使得業務回滾就像一次主備切換,能夠瞬間完成而且不丟數據,因此讓業務回滾再也不成爲難題。商戶業務總體遷移的過程當中也發生過業務抖動,使用OMS回滾的時候從登錄系統到完成回滾也只用了幾分鐘的時間。

因此全程下來螞蟻商戶平臺這個業務的遷移時間大概在三個多星期的時間完成,那麼不管從人力成本仍是時間成本上,OMS都極大地提高了數據庫的總體遷移效率。

最後,韓谷悅爲你們展現了OMS一鍵遷移的demo演示。

當前, 愈來愈多的企業已經認識到分佈式架構在實現業務靈活擴展以及敏捷開發等方面的巨大價值。OceanBase不斷經過產品端的革新,爲傳統企業輸送「互聯網基因」,幫助更多客戶向分佈式架構轉型。

同時OceanBase也在不斷提升服務客戶的深度和廣度。深度意味着在一樣的業務場景下,隨着業務的發展和體量的壯大,幫助更多企業承擔起業務所帶來的極致壓力。廣度則針對的是隨着新型技術形態和業務場景的出現,幫助更多企業快速響應,經過技術創新而適應變化所帶來的新的市場契機。

OceanBase致力於將螞蟻自身業務多年沉澱下來的最濃縮,最經典和最普世的方法論輸出給廣大的企業客戶,同時作到深度和廣度並存,真正幫助客戶實現穩妥創新

相關文章
相關標籤/搜索