科技雲報道:分佈式數據庫一定會替代Oracle嗎?

科技雲報道原創。

面對互聯網業務的不斷深化以及業務量的爆發式增長,傳統數據庫架構迎來了前所未有的挑戰和變革。

在傳統數據庫領域,Oracle一直佔據了很大的市場份額,很多企業的業務系統基於此實現OLTP交易場景。

 

近年來,隨着分佈式技術的發展,分佈式數據庫逐漸佔據了OLTP領域較大的市場,尤其在互聯網領域,MYSQL、PG等分佈式數據庫的應用非常廣泛。

 

在中國,軟件國產化、自主可控戰略的提出,“去Oracle”逐漸被提上日程,非互聯網企業也開始考慮數據庫轉型。其中,分佈式數據庫即是一個重要轉型方向。

 

然而,分佈式數據庫應該如何在企業中正確地落地,一直是業界討論的焦點,首當其衝的問題就是:分佈式數據庫是否能替換Oracle?

走過漫長曆程分佈式數據庫的春天來了

 

在回答這個問題之前,先來看看分佈式數據庫的發展歷程和特點。

 

20世紀80年代,伴隨着關係數據庫理論的誕生,IBM和Oracle兩家公司開始提供商業化的數據庫產品,服務於各類大型企業。

 

初期的數據庫都是單機軟件,跑在專有的硬件之上,比如IBM的大機、小型機,如果業務量或者數據量增加,只能進行垂直擴展,即採用增加CPU、存儲的方式。

 

這套體系的優點是非常穩定,缺點是開放性不夠,與通用x86服務器體系之上的開發環境兼容性差,另外當業務量增長過快時,其擴展能力有限,而且這套系統的造價非常昂貴。

 

2000年以後,隨着互聯網在線業務的發展,業務系統訪問的併發度呈指數級上升,海量數據計算和分析需求越來越普遍,傳統單機系統在業務支撐、成本、開放性等方面均面臨巨大挑戰,數據庫垂直擴展的模式也無法維繫。

 

以支付業務爲例,隨着在線購物、在線繳費方式的普及,支付業務系統的併發量迅速增長,尤其是在“雙十一”“618”“春節搶紅包”等場景下,每秒有上百萬筆支付交易。

互聯網企業開始探索新的水平擴展的方案,最常見的就是應用系統通過分庫分表進行解決。

 

但是,這種解決方案的應用系統需要做大量改造,需要感知數據存儲位置,增加了運維的複雜性,並因此出現了中間件的方式,如Mycat等。這種方式雖實現了數據對應用的透明,但未解決數據庫運維的痛點。

 

隨着大數據技術的發展,以Hadoop、Greenplum爲代表的非結構化大規模數據處理技術崛起。

這些技術主要採用Shared-nothing架構,在分析領域率先實現了分佈式的擴展,分析的主要任務是數據的查詢,其應對的挑戰主要是海量數據的存儲、計算,對於事務的要求較低。

 

2010年後,谷歌Spanner、Tidb採用Paxos或Raft等一致性協議來解決中間件方案的單點瓶頸問題,這爲事務數據庫的分佈式化提供了新的理論依據。

 

之後,分佈式數據庫發展迎來了熱潮,各類分佈式數據庫百花齊放。

 

相比於傳統的單機或主備模式的集中式數據庫,分佈式數據庫是傳統數據庫技術與計算機網絡的有機結合,在平滑擴展、高性能、高可靠、高可用、低成本等方面具有優勢,特別是當數據量上升到一定程度,在性能方面可突破集中式數據庫的瓶頸。

 

回顧過去10年,分佈式數據庫經歷了從行業質疑、小規模試水、到如今在金融、互聯網等行業的探索和應用,有一些甚至在生產系統中得到大量應用,可以說分佈式數據庫的春天已經到來。

分佈式數據庫替代Oracle不能一刀切

 

那麼,分佈式數據庫足以替代Oracle這樣的傳統數據庫了嗎?

 

傳統關係型數據庫在覈心交易等領域深耕了40多年,到目前爲止,大部分純交易場景不論從數據量還是商業模式都沒有本質的變化,其業務的擴展空間的確十分有限。

 

在企業數字化轉型的過程中,數據量隨着業務發展快速膨脹,爲數據庫帶來全新的市場機遇。而分佈式數據庫的設計初衷,正是爲了解決全新的數字化業務問題。

在Oracle所無法滿足的場景中,分佈式數據庫成爲了理想的落地方案。

 

但值得注意的是,在替代Oracle的問題上,並沒有一刀切的答案。

 

分佈式數據庫的誕生,首先是爲了解決傳統數據庫不擅長的場景,在關係型數據庫做到極致的領域同樣需要很長的時間才能完善,並不是爲了單純替換某個原有系統。

 

如果只是爲了使用及推廣新技術,而進行固有架構的替換,將會面臨極大的技術風險與挑戰。

 

可以看到,目前國內絕大部分的分佈式數據庫的產品試用,都是在一些非核心繫統的應用。例如:在金融機構,分佈式數據庫常用於渠道類業務如:網聯、第三方支付對接等,在生產環境中驗證產品功能和穩定性,並沒有實現真正的替代。

 

同時,分佈式數據庫的產品成熟度也有待提升。

相比較於DB2、Oracle等商業數據庫和MySQL 等開源數據庫,分佈式數據庫產品在生態圈、技術手冊、技術支持等多個方面,還是稍遜一等,仍然有大量可提升的空間。

 

由於尚無統一的業界標準,也沒有哪一款分佈式數據庫產品,是這個領域不可爭議的第一名,就如同Oracle一樣。

 

對於分佈式數據庫而言,想要替代Oracle,更大難點在於如何從Oracle遷移出來。

 

很多企業原本都是傳統數據庫一體化解決方案,其設計與運維經驗不一定完全適合分佈式數據庫。從Oracle遷移至分佈式數據庫就會遇到各種障礙,例如:

 

  • 不同數據庫之間的異構數據如何做到無損遷移?

  • 遷移過程中如何保障系統穩定性?

  • 如何設置異構數據庫並行過渡期?

  • Oracle數據庫往往和應用耦合度較高,遷移過程還會涉及到應用遷移和改造,如何評估改造量和改造難度?兼容性如何保障?

  • 數據庫遷移完成後如何成功建轉運?

  • 傳統運維方案中的網絡、存儲、監控告警、備份恢復等等應該如何規劃?

 

除此之外,儘管分佈式數據庫比原來各業務系統獨立使用數據庫更加易於運維,但是剛引入分佈式數據庫,難免碰到運維技術和人力跟不上的階段。

這些都是分佈式數據庫需要解決的現實問題。

 結語

 

從全球數據量發展的方向來看,其爆發性增長,主要集中在基於數字化創新的多樣化業務場景。

因此,單純替代傳統Oracle佔據核心優勢的固有領域,並非是分佈式數據庫未來的增長方向。

 

分佈式數據庫的最佳落地與使用方式,是從海量數據業務到核心的逐步迭代過程。

先從存在海量數據彈性擴展的新興業務需求入手,隨着業務革新不斷的深入,逐漸滲透進傳統業務及應用中。

 

企業在選擇分佈式數據庫落地場景時,也應該選擇適當的應用場景,以真正發揮其優勢能力,並持續打磨技術團隊的運維能力,並逐步推向核心。

 

【關於科技雲報道】

專注於原創的企業級內容行家——科技雲報道。成立於2015年,是前沿企業級IT領域Top10媒體。獲工信部權威認可,可信雲、全球雲計算大會官方指定傳播媒體之一。深入原創報道雲計算、大數據、人工智能、區塊鏈等領域。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章