分散式改造進入核心深水區,國產資料庫如何渡河

伺服器頻道發表於2021-12-15

在數字經濟時代,資料庫的重要性愈發凸顯。隨著資料海量爆發,傳統集中式架構面臨著資料處理瓶頸,分散式資料庫成為企業組織的新選擇。在時代機遇下,國產資料庫在分散式資料庫技術上不斷突破正慢慢實現變道超車。

政策的東風帶來春天的訊息,2019年央行印發的《金融科技(FinTech)發展規劃(2019-2021 年)》金融科技發展三年規劃中提到了“加強分散式資料庫研發應用”的要求,目前已經接近收關。今年11月30日,工信部一天連發三項“十四五”重大規劃,其中《“十四五”資訊化和工業化深度融合發展規劃》明確,加速分散式資料庫等產品研發和應用推廣。

近幾年分散式資料庫在越來越多的行業成功投產的訊息提振了業內信心,實際上現在很多金融、政企行業的核心業務系統正在進行分散式資料庫替換的測試和預演,這意味著分散式資料庫改造進入到核心深水區,可以預見未來兩年將會有大量核心系統投產分散式資料庫的訊息出現。分散式資料庫改造要如何進行?有哪些風險?是選擇分庫分表中介軟體還是原生分散式資料庫?國產分散式資料庫準備好了嗎?

挺近核心深水區

分散式資料庫改造往往是在更大的分散式架構改造背景下進行,以某股份制銀行為例,隨著業務不斷增長,幾年前該銀行提出進行IT系統分散式改造,要逐步將銀行資訊系統由傳統集中式架構轉向多節點執行、資料分佈儲存、動態負載均衡的分散式架構,更好地適應網際網路時代業務高彈性、高併發、高融合的特性。其中分散式資料庫改造是難度最大、最重要的一環。

一大批在DB2、Oracle等成熟外企從業多年的資料庫老兵對市場的變化較為敏感,在信創和國產化浪潮下,他們看到了國產資料庫的進步與突破,也早早感受到金融、政企行業分散式改造是大勢所趨,紛紛加入國產資料庫廠商,把握時代機遇。

曾在IBM DB2工作多年,目前擔任OceanBase交付服務架構團隊負責人的喬國治是其中一員。他告訴筆者,與國外相比,在金融、政企等傳統行業,中國企業的體量與業務場景有很大不同,場景更為複雜,資料規模和業務訪問負載更大,傳統集中式資料庫很難再支撐其業務發展,國內傳統企業對分散式資料庫的需求更大,也更為迫切。

OceanBase解決方案部非金融行業負責人劉翔指出,國內金融業從兩三年前便已經開始進行分散式資料庫改造,政企行業大概去年年初開始進行分散式資料庫改造,相對滯後一些。

“(經過近幾年的探索發展),分散式改造已經進入到改革的深水區,基本上我們現在接觸的專案都是一些核心系統的分散式改造。”劉翔介紹,在資料庫選型的POC測試環節,此前碰到的更多是標準的POC測試,驗證資料庫的標準效能。現在的POC測試更多是針對某個核心業務場景,比如銀行的賬務、運營商BOSS系統等。

IT系統的改造伴隨著風險。由於資料庫是承載業務系統的基礎,分散式資料庫替換更為謹慎。

某銀行科技部負責人強調,在用國產分散式資料庫替換Oracle時,他們非常關注資料遷移過程中的停業時間,“如果我能預估出來,不管是停一個小時,或者是兩個小時三個小時,我們提前發公告安排合理的停業視窗都OK,對我們來說最大的風險其實是未知的風險。”

而這種未知的風險需要國產資料庫廠商來化解。

國產資料庫如何順利渡河?

劉翔介紹,金融政企在資料庫選型時,比較關注對原有核心繫統的適配相容性,高可用、高可靠等安全性,擴充套件性以及需要不弱於原來資料庫的效能。此外,由於目前分散式資料庫改造並沒有形成成熟可供參考的標準,分散式資料庫改造承載著企業機構面向未來技術發展的知識轉移重任,“很多客戶在選擇資料庫時非常看重資料庫廠商是否有長期的發展的策略,能不能確保長期服務的可持續性。”

在進行分散式資料庫改造時,目前還會面臨一些共性的挑戰。

分散式資料庫有分庫分表中介軟體和原生分散式資料庫兩種路線,當企業決定進行分散式改造時,首要考慮技術路線選擇。

分庫分表中介軟體VS原生分散式資料庫

所謂分庫分表中介軟體技術路線,即資料庫訪問中介軟體,中介軟體不儲存資料,只負責資料的分片、資料彙總和跨節點分散式事務的處理等功能,後端的關係型資料庫負責核心引擎功能,如資料的儲存、計算以及單節點內事務處理等。而原生分散式資料庫,會重構資料庫的核心處理引擎,原生支援資料切分、分散式事務處理、全域性一致性等能力。

喬國治指出這兩種技術路線各有優劣,分庫分表中介軟體並沒有對資料庫的核心處理引擎做多少改造,依然沿用了原來單點資料庫的核心能力,在資料庫之上透過一層中介軟體把多個資料庫的單點例項整合到一起。分庫分表中介軟體架構最大的優勢是能夠以最小的代價在最短的時間內突破單點資料庫的瓶頸。但也有其短板,比如目前分庫分表中介軟體無法做到動態負載均衡,對複雜SQL查詢會有限制,線上水平擴充套件性以及全域性一致性等方面也有挑戰。而原生分散式資料庫並沒有以上瓶頸,與此同時原生分散式資料庫擁有強大的資料庫核心團隊,在資料庫核心引擎方面具備真正的“技術兜底”和“產業升級”能力,遇到問題也可以更為及時的做出響應。

以OceanBase為例,OceanBase是原生分散式資料庫,能夠做到以最快的速度響應客戶需求,提供業內高標準的服務體系。OceanBase堅持把簡單留給客戶,把複雜留給資料庫。某金融保險客戶原系統使用Tuxedo中介軟體,在系統升級替換過程中,我們儘量讓客戶減少改造,而是對OceanBase核心進行了改動。

劉翔指出,核心業務系統面臨著資料量大、高併發等挑戰,如果採用分庫分表中介軟體可能會涉及到對大量侵入性改造,而原生分散式資料庫,可以相容原Oracle分割槽模式,基本上不會帶來應用的侵入性改造,這也是是很多大客戶選擇原生分散式資料庫架構的主要原因之一。

“企業選擇了一個(資料庫)產品之後,意味著選擇了未來五年甚至十年的技術路線,我相信大多數使用者從長遠角度來看,會更願意選擇原生分散式架構,這是真正代表未來的技術發展趨勢。”喬國治說。

新能源汽車與國產資料庫的發展非常相似,未來趨勢的答案雖然明顯,但是通向未來需要一個過程,正如現在大路上跑的基本都是燃油車,也有不少油電混合車,但是純電動車還是少數。當下國內金融、政企核心業務系統還是以傳統資料庫為主,在分散式改造過程中,由於分庫分表中介軟體技術相對成熟,目前有很多企業採用了分庫分表中介軟體方案,但放眼未來,原生分散式資料庫一定會成為越來越多企業客戶的首選。

“從技術實現上看,就沒有一款可以包打天下的資料庫,在實際使用時,應根據業務場景和業務特點,選擇合適的資料庫。當然,在實際選型時,還應關注廠商的研發能力、以及實施的案例等。”某銀行系統架構師分析兩種分散式資料庫技術路線時曾如此強調。

資料庫遷移能否做到應用無感知?

喬國治指出,資料庫替換過程中,做到應用遷移完全無感知是比較理想化的狀態。即便換雙同樣的新鞋,腳可能還會有不舒服的時候,更何況資料庫替換這樣複雜的工程。他指出現在國內企業普遍採取比較理性的態度,能夠理解遷移過程中難免會遇到適配等問題,“要減少遷移過程中的麻煩,資料庫廠商能夠幫助客戶儘量讓遷移過程更平滑,更快速,我覺得這個其實是客戶真正的需求。”

想要讓遷移過程更平滑、快速,首先需要解決資料庫相容性問題,比如Oracle相容性是當下國產資料庫產品發展重點,目前沒有一家廠商可以做到100%相容Oracle。不過OceanBase這樣的國產資料庫已經可以做到Oracle主流功能的相容,在某些特定功能使用的地方,也會快速響應客戶需求進行適配。比如,OceanBase也應客戶需求對現在已經很少使用的嵌入式Pro*C語法進行了相容,幫助客戶將十幾年前開發的應用快速移植到OceanBase上。此外,OceanBase還推出了專門的資料庫相容性檢查工具,能夠針對源端資料庫實現自動檢查並提供相容性評估報告,大大提高了資料庫相容性檢查的效率。

資料遷移是資料庫替換的另一大痛點,企業機構原有的系統一般有非常多的歷史遺產,可能有幾十T甚至上百T的資料,而且系統還在不斷產生新的資料,不能隨便停服。OceanBase創始人陽振坤一直強調做資料庫的原則與底線,“服務不能停,資料不能丟。”較為穩妥的辦法是雙庫並行,並擁有完善的回退方案兜底。

OceanBase在2017年推出了遷移服務(OceanBase Migration Service,簡稱OMS),在某銀行資料遷移時,系統正常營業期間就可以發起全量資料遷移,且可以控制遷移速度不影響源端資料庫的正常工作,之後透過增量實時同步逐漸將目標端資料和源端資料追平,在應用系統切換資料來源的幾分鐘內做好資料對比、反向回寫等操作後,就完成了資料庫切換,將原本需要3小時左右的停業時間縮短到幾分鐘,保障了應用系統對客服務能力,並且透過切換後的回寫機制,應用系統在OceanBase端的更新同樣會在Oracle端進行更新,一旦驗證發現問題,應用可以隨時切換回源庫,將切換風險降到最低。“回退方案實際上就是銀行系統上線的一個安全繩。”該銀行科技部相關負責人說。

商業化之路任重道遠

劉翔在資料庫行業已經有20多年的從業經歷,初看他的名字不由想到創造了奧運跨欄歷史的同名亞洲飛人。而他所加入的OceanBase團隊在資料庫賽場上同樣創造了歷史,2019年OceanBase打榜TPC-C,成為全世界第一個透過TPC-C審計的分散式無共享關聯式資料庫。

正如筆者在《進擊的國產資料庫,能否挑起高階市場大梁?》文章中所說,總體來看,大多數專家對國產資料庫替換核心業務系統持樂觀態度,他們認為現在國產資料庫已經擁有了技術儲備,但是與使用者建立信任還需要更多時間。

比如在產品能力方面,自研的OceanBase歷經雙十一流量洪峰檢驗,是真正在世界級難度的實戰中磨練出來的資料庫,打榜TPC-C證明了分散式資料庫可行性,增加了國內企業機構選擇國產分散式資料庫的信心。

喬國治認為分散式資料庫替換,只有產品和服務還不夠,國產資料庫商業化之路還是個新手,任重道遠。過去20多年,國內金融政企行業快速發展,其IT系統建設基本都是由跨國高新技術企業如Oracle、微軟、IBM、惠普等主導,也因此這些客戶接受的都是當時世界上最先進的技術、最成熟的解決方案以及最成熟的服務體系等,而核心系統對資料庫的要求更為嚴苛,國產資料庫並不會有國民化特殊待遇。

在喬國治看來,包括OceanBase在內的國產資料庫,在商業化道路上可以借鑑過去20多年成熟外企的人才和經驗。目前國產資料庫廠商都在這方面努力補齊短板,OceanBase在服務體系方面也正在不斷完善。

據悉,OceanBase目前為客戶提供了一整套完善的服務體系,包括諮詢服務、專家服務、駐場服務、技術支援、認證培訓以及第三方開放生態夥伴,提供覆蓋全國的7X24h服務,擁有OBCA、OBCP、OBCE多級培訓認證體系,提供解決方案諮詢、部署實施、交付運維、專家支援等全鏈路快速響應服務能力。OceanBase交付與服務中心採用“一號位責任制”,有專職的客戶成功經理,輔以技術負責人聯手保障專案成功,根據專案生命週期的不同階段,提供不同型別的服務,確保系統成功上線並平穩執行。

某銀行相關IT負責人指出,雖然目前OceanBase和成熟的Oracle相比不具備絕對優勢,但是解決問題的時效比較快,與其他開源資料庫相比也具有一定優勢;某商業銀行IT負責人指出OceanBase在功能和效能方面技術領先明顯,比如支援MySQL和Oracle、Paxos協議、生態工具等,而雙十一和TPC-C打榜是最有力的印證。

在交付服務方面,OceanBase有不同於其他廠商的交付服務體系。據喬國治介紹,OceanBase在企業交付服務方面做了針對性劃分,針對不同客戶的不同需求,為其提供差異化的服務。OceanBase交付實施團隊分為專職交付實施團隊和交付服務架構師團隊。前者分佈在全國各地,作為基礎保障,保證OceanBase客戶能夠在全國各處就近享受到專業的交付服務。他所在的交付服務架構團隊主要為重點客戶和複雜專案提供技術架構等高階服務。此外,OceanBase的售後技術支援團隊參照成熟外企的模式把售後技術支援服務做了分層處理。分為一線技術支援、二線技術支援以及三線技術支援成型的團隊。

在對核心業務系統進行分散式資料庫替換過程中,國產分散式資料庫還需要補短板。比如在產品方面,對Oracle等原有資料庫的相容性需要持續提升。在人才生態方面,需要不斷完善,在商業化方面還需要更多的努力。喬國治對OceanBase抱有信心,目前OceanBase已經獲得了超過200家客戶的支援和認可,並且金融領域TOP200的客戶其中四分之一都已經跑在了OceanBase之上。

分散式資料庫的改造說到底最終也要落到創造價值上面,每個資料庫廠商也都有長處和短板,合適的才是最好的。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31545803/viewspace-2847895/,如需轉載,請註明出處,否則將追究法律責任。

相關文章