分布式數(shù)據(jù)庫一定會替代Oracle嗎?

科技云報道原創(chuàng)。

面對互聯(lián)網(wǎng)業(yè)務(wù)的不斷深化以及業(yè)務(wù)量的爆發(fā)式增長,傳統(tǒng)數(shù)據(jù)庫架構(gòu)迎來了前所未有的挑戰(zhàn)和變革。
在傳統(tǒng)數(shù)據(jù)庫領(lǐng)域,Oracle一直占據(jù)了很大的市場份額,很多企業(yè)的業(yè)務(wù)系統(tǒng)基于此實現(xiàn)OLTP交易場景。
?
近年來,隨著分布式技術(shù)的發(fā)展,分布式數(shù)據(jù)庫逐漸占據(jù)了OLTP領(lǐng)域較大的市場,尤其在互聯(lián)網(wǎng)領(lǐng)域,MYSQL、PG等分布式數(shù)據(jù)庫的應(yīng)用非常廣泛。
?
在中國,軟件國產(chǎn)化、自主可控戰(zhàn)略的提出,“去Oracle”逐漸被提上日程,非互聯(lián)網(wǎng)企業(yè)也開始考慮數(shù)據(jù)庫轉(zhuǎn)型。其中,分布式數(shù)據(jù)庫即是一個重要轉(zhuǎn)型方向。
?
然而,分布式數(shù)據(jù)庫應(yīng)該如何在企業(yè)中正確地落地,一直是業(yè)界討論的焦點,首當(dāng)其沖的問題就是:分布式數(shù)據(jù)庫是否能替換Oracle?
走過漫長歷程分布式數(shù)據(jù)庫的春天來了
?
在回答這個問題之前,先來看看分布式數(shù)據(jù)庫的發(fā)展歷程和特點。
?
20世紀80年代,伴隨著關(guān)系數(shù)據(jù)庫理論的誕生,IBM和Oracle兩家公司開始提供商業(yè)化的數(shù)據(jù)庫產(chǎn)品,服務(wù)于各類大型企業(yè)。
?
初期的數(shù)據(jù)庫都是單機軟件,跑在專有的硬件之上,比如IBM的大機、小型機,如果業(yè)務(wù)量或者數(shù)據(jù)量增加,只能進行垂直擴展,即采用增加CPU、存儲的方式。
?
這套體系的優(yōu)點是非常穩(wěn)定,缺點是開放性不夠,與通用x86服務(wù)器體系之上的開發(fā)環(huán)境兼容性差,另外當(dāng)業(yè)務(wù)量增長過快時,其擴展能力有限,而且這套系統(tǒng)的造價非常昂貴。
?
2000年以后,隨著互聯(lián)網(wǎng)在線業(yè)務(wù)的發(fā)展,業(yè)務(wù)系統(tǒng)訪問的并發(fā)度呈指數(shù)級上升,海量數(shù)據(jù)計算和分析需求越來越普遍,傳統(tǒng)單機系統(tǒng)在業(yè)務(wù)支撐、成本、開放性等方面均面臨巨大挑戰(zhàn),數(shù)據(jù)庫垂直擴展的模式也無法維系。
?
以支付業(yè)務(wù)為例,隨著在線購物、在線繳費方式的普及,支付業(yè)務(wù)系統(tǒng)的并發(fā)量迅速增長,尤其是在“雙十一”“618”“春節(jié)搶紅包”等場景下,每秒有上百萬筆支付交易。
互聯(lián)網(wǎng)企業(yè)開始探索新的水平擴展的方案,最常見的就是應(yīng)用系統(tǒng)通過分庫分表進行解決。
?
但是,這種解決方案的應(yīng)用系統(tǒng)需要做大量改造,需要感知數(shù)據(jù)存儲位置,增加了運維的復(fù)雜性,并因此出現(xiàn)了中間件的方式,如Mycat等。這種方式雖實現(xiàn)了數(shù)據(jù)對應(yīng)用的透明,但未解決數(shù)據(jù)庫運維的痛點。
?
隨著大數(shù)據(jù)技術(shù)的發(fā)展,以Hadoop、Greenplum為代表的非結(jié)構(gòu)化大規(guī)模數(shù)據(jù)處理技術(shù)崛起。
這些技術(shù)主要采用Shared-nothing架構(gòu),在分析領(lǐng)域率先實現(xiàn)了分布式的擴展,分析的主要任務(wù)是數(shù)據(jù)的查詢,其應(yīng)對的挑戰(zhàn)主要是海量數(shù)據(jù)的存儲、計算,對于事務(wù)的要求較低。
?
2010年后,谷歌Spanner、Tidb采用Paxos或Raft等一致性協(xié)議來解決中間件方案的單點瓶頸問題,這為事務(wù)數(shù)據(jù)庫的分布式化提供了新的理論依據(jù)。
?
之后,分布式數(shù)據(jù)庫發(fā)展迎來了熱潮,各類分布式數(shù)據(jù)庫百花齊放。
?
相比于傳統(tǒng)的單機或主備模式的集中式數(shù)據(jù)庫,分布式數(shù)據(jù)庫是傳統(tǒng)數(shù)據(jù)庫技術(shù)與計算機網(wǎng)絡(luò)的有機結(jié)合,在平滑擴展、高性能、高可靠、高可用、低成本等方面具有優(yōu)勢,特別是當(dāng)數(shù)據(jù)量上升到一定程度,在性能方面可突破集中式數(shù)據(jù)庫的瓶頸。
?
回顧過去10年,分布式數(shù)據(jù)庫經(jīng)歷了從行業(yè)質(zhì)疑、小規(guī)模試水、到如今在金融、互聯(lián)網(wǎng)等行業(yè)的探索和應(yīng)用,有一些甚至在生產(chǎn)系統(tǒng)中得到大量應(yīng)用,可以說分布式數(shù)據(jù)庫的春天已經(jīng)到來。
分布式數(shù)據(jù)庫替代Oracle不能一刀切
?
那么,分布式數(shù)據(jù)庫足以替代Oracle這樣的傳統(tǒng)數(shù)據(jù)庫了嗎?
?
傳統(tǒng)關(guān)系型數(shù)據(jù)庫在核心交易等領(lǐng)域深耕了40多年,到目前為止,大部分純交易場景不論從數(shù)據(jù)量還是商業(yè)模式都沒有本質(zhì)的變化,其業(yè)務(wù)的擴展空間的確十分有限。
?
在企業(yè)數(shù)字化轉(zhuǎn)型的過程中,數(shù)據(jù)量隨著業(yè)務(wù)發(fā)展快速膨脹,為數(shù)據(jù)庫帶來全新的市場機遇。而分布式數(shù)據(jù)庫的設(shè)計初衷,正是為了解決全新的數(shù)字化業(yè)務(wù)問題。
在Oracle所無法滿足的場景中,分布式數(shù)據(jù)庫成為了理想的落地方案。
?
但值得注意的是,在替代Oracle的問題上,并沒有一刀切的答案。
?
分布式數(shù)據(jù)庫的誕生,首先是為了解決傳統(tǒng)數(shù)據(jù)庫不擅長的場景,在關(guān)系型數(shù)據(jù)庫做到極致的領(lǐng)域同樣需要很長的時間才能完善,并不是為了單純替換某個原有系統(tǒng)。
?
如果只是為了使用及推廣新技術(shù),而進行固有架構(gòu)的替換,將會面臨極大的技術(shù)風(fēng)險與挑戰(zhàn)。
?
可以看到,目前國內(nèi)絕大部分的分布式數(shù)據(jù)庫的產(chǎn)品試用,都是在一些非核心系統(tǒng)的應(yīng)用。例如:在金融機構(gòu),分布式數(shù)據(jù)庫常用于渠道類業(yè)務(wù)如:網(wǎng)聯(lián)、第三方支付對接等,在生產(chǎn)環(huán)境中驗證產(chǎn)品功能和穩(wěn)定性,并沒有實現(xiàn)真正的替代。
?
同時,分布式數(shù)據(jù)庫的產(chǎn)品成熟度也有待提升。
相比較于DB2、Oracle等商業(yè)數(shù)據(jù)庫和MySQL 等開源數(shù)據(jù)庫,分布式數(shù)據(jù)庫產(chǎn)品在生態(tài)圈、技術(shù)手冊、技術(shù)支持等多個方面,還是稍遜一等,仍然有大量可提升的空間。
?
由于尚無統(tǒng)一的業(yè)界標準,也沒有哪一款分布式數(shù)據(jù)庫產(chǎn)品,是這個領(lǐng)域不可爭議的第一名,就如同Oracle一樣。
?
對于分布式數(shù)據(jù)庫而言,想要替代Oracle,更大難點在于如何從Oracle遷移出來。
?
很多企業(yè)原本都是傳統(tǒng)數(shù)據(jù)庫一體化解決方案,其設(shè)計與運維經(jīng)驗不一定完全適合分布式數(shù)據(jù)庫。從Oracle遷移至分布式數(shù)據(jù)庫就會遇到各種障礙,例如:
?
不同數(shù)據(jù)庫之間的異構(gòu)數(shù)據(jù)如何做到無損遷移?遷移過程中如何保障系統(tǒng)穩(wěn)定性?如何設(shè)置異構(gòu)數(shù)據(jù)庫并行過渡期?Oracle數(shù)據(jù)庫往往和應(yīng)用耦合度較高,遷移過程還會涉及到應(yīng)用遷移和改造,如何評估改造量和改造難度?兼容性如何保障?數(shù)據(jù)庫遷移完成后如何成功建轉(zhuǎn)運?傳統(tǒng)運維方案中的網(wǎng)絡(luò)、存儲、監(jiān)控告警、備份恢復(fù)等等應(yīng)該如何規(guī)劃?
?
除此之外,盡管分布式數(shù)據(jù)庫比原來各業(yè)務(wù)系統(tǒng)獨立使用數(shù)據(jù)庫更加易于運維,但是剛引入分布式數(shù)據(jù)庫,難免碰到運維技術(shù)和人力跟不上的階段。
這些都是分布式數(shù)據(jù)庫需要解決的現(xiàn)實問題。
?結(jié)語
?
從全球數(shù)據(jù)量發(fā)展的方向來看,其爆發(fā)性增長,主要集中在基于數(shù)字化創(chuàng)新的多樣化業(yè)務(wù)場景。
因此,單純替代傳統(tǒng)Oracle占據(jù)核心優(yōu)勢的固有領(lǐng)域,并非是分布式數(shù)據(jù)庫未來的增長方向。
?
分布式數(shù)據(jù)庫的最佳落地與使用方式,是從海量數(shù)據(jù)業(yè)務(wù)到核心的逐步迭代過程。
先從存在海量數(shù)據(jù)彈性擴展的新興業(yè)務(wù)需求入手,隨著業(yè)務(wù)革新不斷的深入,逐漸滲透進傳統(tǒng)業(yè)務(wù)及應(yīng)用中。
?
企業(yè)在選擇分布式數(shù)據(jù)庫落地場景時,也應(yīng)該選擇適當(dāng)?shù)膽?yīng)用場景,以真正發(fā)揮其優(yōu)勢能力,并持續(xù)打磨技術(shù)團隊的運維能力,并逐步推向核心。

極客網(wǎng)企業(yè)會員

免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準確性及可靠性,但不保證有關(guān)資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負任何法律責(zé)任。任何單位或個人認為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實內(nèi)容時,應(yīng)及時向本網(wǎng)站提出書面權(quán)利通知或不實情況說明,并提供身份證明、權(quán)屬證明及詳細侵權(quán)或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實,溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。

2021-04-20
分布式數(shù)據(jù)庫一定會替代Oracle嗎?
分布式數(shù)據(jù)庫一定會替代Oracle嗎?

長按掃碼 閱讀全文