PolarDB PostgreSQL版(兼容Oracle)具有容量大、高性?xún)r(jià)比、分鐘級(jí)彈性、讀一致性、毫秒級(jí)延遲(物理復(fù)制)、無(wú)鎖備份等優(yōu)點(diǎn),為您解決業(yè)務(wù)上的難點(diǎn)和痛點(diǎn)。本文介紹銀泰商務(wù)如何通過(guò)PolarDB PostgreSQL版(兼容Oracle)解決自身業(yè)務(wù)上的挑戰(zhàn)。

銀泰百貨

公司介紹

銀泰從2016年開(kāi)始做銀泰的IDC上云,其中包括難度最大的數(shù)據(jù)庫(kù)上云。最開(kāi)始銀泰是對(duì)會(huì)員的數(shù)據(jù)庫(kù)上云,采用的是Oracle到MySQL的遷移,對(duì)于這部分改造,因?yàn)樯婕暗胶诵臉I(yè)務(wù)鏈路,投入了很多研發(fā)資源。到2019年,隨著銀泰業(yè)務(wù)的持續(xù)發(fā)展,IDC中殘余的少量數(shù)據(jù)庫(kù)資源對(duì)系統(tǒng)的性能及穩(wěn)定性帶來(lái)了很大的威脅,于是銀泰尋求快速云化的方案,最終在2019年9月份實(shí)現(xiàn)了數(shù)據(jù)庫(kù)的100%云化。

業(yè)務(wù)挑戰(zhàn)

  • 以前進(jìn)行核心交易庫(kù)從Oracle轉(zhuǎn)成云上MySQL,投入的研發(fā)資源較多;對(duì)于剩余的支撐型數(shù)據(jù)庫(kù)上云,希望盡可能少地投入研發(fā)資源的情況下,實(shí)現(xiàn)數(shù)據(jù)庫(kù)的云化。而且因?yàn)镮DC的穩(wěn)定性存在較高風(fēng)險(xiǎn),需要做到半年內(nèi)快速云化,時(shí)間周期較短。
  • Oracle之間的調(diào)用鏈路復(fù)雜,涉及比較多的DTS、DBLink等工具,灰度遷移困難。
  • Oracle對(duì)于語(yǔ)法錯(cuò)誤和隱式轉(zhuǎn)換的兼容度非常高,以前的很多應(yīng)用在沒(méi)有嚴(yán)格遵守SQL規(guī)范的情況下仍能正常運(yùn)行。但是在進(jìn)行數(shù)據(jù)庫(kù)改造時(shí),希望在盡量不修改以往應(yīng)用代碼的情況下,通過(guò)數(shù)據(jù)庫(kù)的技術(shù)解決這樣的問(wèn)題。

解決方案

  • PolarDB PostgreSQL版(兼容Oracle)高度兼容Oracle語(yǔ)法。例如存儲(chǔ)過(guò)程,當(dāng)Oracle轉(zhuǎn)MySQL上云時(shí),需要投入了大量的研發(fā)精力將Oracle中的存儲(chǔ)過(guò)程轉(zhuǎn)化成Java代碼。使用PolarDB PostgreSQL版(兼容Oracle)后,存儲(chǔ)過(guò)程可以通過(guò)ADAM(Advanced Database & Application Migration)的工具,較快地完成Oracle存儲(chǔ)過(guò)程到PolarDB PostgreSQL版(兼容Oracle)的遷移。應(yīng)用只需要修改數(shù)據(jù)庫(kù)連接地址和數(shù)據(jù)庫(kù)驅(qū)動(dòng)包即可,很大程度地減少了研發(fā)資源的投入。由于需要研發(fā)投入的資源減少,上云周期也可以大幅度地縮短。
  • DTS支持PolarDB PostgreSQL版(兼容Oracle)作為數(shù)據(jù)源,能夠解決上云之后對(duì)于DTS的依賴(lài)。對(duì)于多個(gè)庫(kù)、應(yīng)用之間的復(fù)雜調(diào)用關(guān)系,一方面通過(guò)分析數(shù)據(jù)庫(kù)監(jiān)聽(tīng)日志的方式進(jìn)行梳理,另外一方面也使用ADAM的調(diào)用分析工具,整理出調(diào)用關(guān)系圖,然后根據(jù)復(fù)雜程度逐步灰度。
  • PolarDB PostgreSQL版(兼容Oracle)團(tuán)隊(duì)修改了部分驅(qū)動(dòng)包中的代碼,很多兼容性的問(wèn)題在驅(qū)動(dòng)層面進(jìn)行了解決。
銀泰架構(gòu)圖

客戶(hù)價(jià)值

  • 成本方面

    云化后在基礎(chǔ)設(shè)施、運(yùn)維方面投入的成本大幅減少,和上云前相比,相同預(yù)算能夠支撐三倍以上的吞吐率。

  • 穩(wěn)定性方面

    上云之前,銀泰的穩(wěn)定性很大程度上取決于DBA的技術(shù)水平;上云之后,支撐銀泰穩(wěn)定性的是阿里云強(qiáng)大的后臺(tái)技術(shù)團(tuán)隊(duì)。

  • 安全性

    上云后的數(shù)據(jù)庫(kù)自帶審計(jì)功能,同時(shí)在數(shù)據(jù)庫(kù)的上層還有阿里云的安全防控。不再需要購(gòu)買(mǎi)安全、審計(jì)軟件和硬件,也無(wú)需投入專(zhuān)人維護(hù)。

  • 彈性擴(kuò)容

    上云之前,如果要在大促前擴(kuò)容數(shù)據(jù)庫(kù),需要自己采購(gòu)硬件、部署網(wǎng)絡(luò),而且大促結(jié)束后無(wú)法縮容。一方面是擴(kuò)容的難度大,風(fēng)險(xiǎn)高;另一方面是大促結(jié)束后沒(méi)辦法回收資源,浪費(fèi)成本。但是上云之后,可以通過(guò)云數(shù)據(jù)庫(kù)的彈性擴(kuò)縮容特性,大促前在界面上進(jìn)行簡(jiǎn)單操作即可實(shí)現(xiàn)擴(kuò)容;大促結(jié)束后還能進(jìn)行縮容,節(jié)約成本。