學(xué)習(xí)分布式數(shù)據(jù)庫(kù)的一點(diǎn)建議
最近陸陸續(xù)續(xù)在后臺(tái)看到一些關(guān)于分布式數(shù)據(jù)庫(kù)的留言,討論熱度確實(shí)挺高,我也忍不住來(lái)說(shuō)兩句。
想到在去年 5 月 20 日,數(shù)據(jù)庫(kù)“世界杯”TPC-C 公布,支付寶自研分布式數(shù)據(jù)庫(kù) OceanBase,獲得 7.07 億 tpmC 的超高性能得分,較去年提升了整整近 11 倍,再次超越 Oracle ,刷新世界紀(jì)錄。
這個(gè)消息在當(dāng)時(shí)無(wú)疑是讓人震驚的,這意味著 OceanBase 可能成為全球最快的數(shù)據(jù)庫(kù),要知道一直以來(lái),TPC-C 榜單都是老牌巨頭在競(jìng)爭(zhēng),長(zhǎng)期被 Oracle、微軟和 IBM 為首的數(shù)據(jù)庫(kù)廠商和硬件廠商霸榜。
但可能有些人會(huì)疑惑,分布式數(shù)據(jù)庫(kù)到底是什么?為什么這么強(qiáng)大?它解決了什么問(wèn)題?怎么突然就火了?
原因很簡(jiǎn)單,就是性能和可靠性。傳統(tǒng)數(shù)據(jù)庫(kù),雖然能夠?qū)⒉糠肿x負(fù)載分流到備機(jī),但主要負(fù)載還在主機(jī)上。所以,早期的方案都是選擇性能和可靠性更好的專用設(shè)備來(lái)做主機(jī),比如 IBM 大型機(jī)。
但這有兩個(gè)問(wèn)題,一是大型機(jī)的技術(shù)體系封閉,和主流技術(shù)棧漸行漸遠(yuǎn),甚至這些廠商自己的工程師都后繼無(wú)人。二是,因?yàn)榧夹g(shù)壟斷,價(jià)格相當(dāng)昂貴。多數(shù)普通企業(yè)都難以承受,而且,這少數(shù)的廠商都是國(guó)外的巨頭IBM、HP等等。
所以,今天,IBM 大型機(jī)這樣的專用設(shè)備已經(jīng)不再是多數(shù)企業(yè)的可選項(xiàng),而采用 x86 架構(gòu)的通用設(shè)備在單機(jī)性能和可靠性上都不能滿足要求,因此分布式架構(gòu)就成為了一個(gè)必然的選擇。
正是分布式數(shù)據(jù)庫(kù)的這些優(yōu)點(diǎn),近幾年,阿里、騰訊、字節(jié)跳動(dòng)、美團(tuán)等互聯(lián)網(wǎng)巨頭,以及傳統(tǒng)金融、商業(yè)銀行、電信行業(yè)等都已經(jīng)開始使用,可以說(shuō),分布式數(shù)據(jù)庫(kù)已經(jīng)成為一種技術(shù)潮流,甚至是新基建的一部分。
比如,除了 OceanBase 現(xiàn)在每年雙十一大促都要秀一下性能之外;還有 TiDB 在努力培育市場(chǎng),技術(shù)社區(qū)做得有聲有色;GoldenDB 已經(jīng)隨著中信銀行的新一代核心業(yè)務(wù)系統(tǒng)上線投產(chǎn),目前也在平穩(wěn)運(yùn)行;其他分布式數(shù)據(jù)庫(kù)包括 CockroachDB、YugabyteDB、TBase...等更多產(chǎn)品,可以說(shuō)是百花齊放了。
除了龐大的市場(chǎng)需求,一個(gè)普通的程序員,為什么要學(xué)習(xí)分布式數(shù)據(jù)庫(kù)?在我看來(lái),最重要的是可以通過(guò)學(xué)習(xí)它的設(shè)計(jì)思想,提高自己的架構(gòu)設(shè)計(jì)水平和代碼能力。分布式數(shù)據(jù)庫(kù)是學(xué)術(shù)研究與工業(yè)實(shí)踐的完美結(jié)合,深入其中你會(huì)看到很多極致的設(shè)計(jì)方法,這將為你進(jìn)階架構(gòu)師鋪平道路。
有什么辦法,能學(xué)明白分布式數(shù)據(jù)庫(kù)呢?
很多人可能會(huì)覺得,作為“分布式”和“數(shù)據(jù)庫(kù)”的跨學(xué)科產(chǎn)物,它在事務(wù)、原子性、隔離性等概念復(fù)雜;而且主流產(chǎn)品眾多,該怎么做技術(shù)選型也很令人頭疼。
確實(shí)如此,所以我也一直在網(wǎng)上找資料,但都非常零散,直到我前段時(shí)間看完了極客時(shí)間王磊的專欄《分布式數(shù)據(jù)庫(kù)30講》,我還挺滿意的。
這個(gè)專欄從大家比較熟悉的單體數(shù)據(jù)庫(kù)出發(fā),對(duì)比學(xué)習(xí),剖析了主流產(chǎn)品的運(yùn)行機(jī)制和理論依據(jù),橫向比較它們的差異,分析這些技術(shù)決策背后的動(dòng)機(jī),能幫你快速建立起對(duì)分布式數(shù)據(jù)庫(kù)全面的認(rèn)知體系。
??掃我的二維碼,免費(fèi)試讀
結(jié)算用口令「Happy2021」,再減 ¥10
到手 ¥69,僅限「前 500 人」有效
說(shuō)到作者王磊,我想簡(jiǎn)單介紹一下。他現(xiàn)在是光大銀行首席數(shù)據(jù)架構(gòu)師,前 IBM 咨詢顧問(wèn)。在數(shù)據(jù)領(lǐng)域有超過(guò) 15 年的工作經(jīng)驗(yàn),2013 年,他推動(dòng)了光大銀行從傳統(tǒng)數(shù)據(jù)倉(cāng)庫(kù)向大數(shù)據(jù)生態(tài)的轉(zhuǎn)型,主導(dǎo)了大數(shù)據(jù)開發(fā)平臺(tái)、數(shù)據(jù)中臺(tái)等多個(gè)重要系統(tǒng)的架構(gòu)設(shè)計(jì)工作,是大數(shù)據(jù)技術(shù)在金融行業(yè)的第一批踐行者。
講真,我還是非常喜歡這個(gè)專欄的。因?yàn)槲覐乃慕?jīng)驗(yàn)中,在架構(gòu)設(shè)計(jì)上獲得更多的啟發(fā)??赡苡泻芏嗯笥堰€是不知道該怎么學(xué),不過(guò),用老師自己的話說(shuō)就是,學(xué)習(xí)的關(guān)鍵字在于:找出分布式數(shù)據(jù)庫(kù)的學(xué)習(xí)路徑,抓住它的核心內(nèi)容。
那怎么找到這條學(xué)習(xí)路徑呢,這就得從數(shù)據(jù)庫(kù)說(shuō)起了。一個(gè)基本運(yùn)行的數(shù)據(jù)庫(kù)要做好五件事,存儲(chǔ)、事務(wù)、查詢、復(fù)制和其他。對(duì)分布式數(shù)據(jù)庫(kù)來(lái)說(shuō),不僅要繼續(xù)做這五件事,還要多出一件事,分片。在這六件事中,存儲(chǔ)和其他這兩件事與單體數(shù)據(jù)庫(kù)差不多,難點(diǎn)就在事務(wù)、查詢、復(fù)制和分片這四件。
分享王磊梳理的一個(gè)「分布式數(shù)據(jù)庫(kù)學(xué)習(xí)要點(diǎn)圖」,可以幫你避免一下子就陷入安裝部署、操作指令等細(xì)節(jié)中,擺脫學(xué)完以后還是不知道產(chǎn)品原理、碰到?jīng)]見過(guò)的問(wèn)題依然是束手無(wú)策的窘境,需要的同學(xué)可以保存下來(lái)看看。
我來(lái)講講這門專欄是如何講解分布式數(shù)據(jù)庫(kù)的吧?這個(gè)專欄可以說(shuō)非常系統(tǒng)了,總共分為 3 個(gè)方面:
夯實(shí)基礎(chǔ),建立整體認(rèn)知
概念篇:顧名思義,主要介紹分布式數(shù)據(jù)庫(kù)的基本概念、主流產(chǎn)品的架構(gòu)框架和一些基本功能,以及分布式數(shù)據(jù)庫(kù)設(shè)計(jì)的難點(diǎn)。
從問(wèn)題到解決方案,再到產(chǎn)品實(shí)現(xiàn)
開發(fā)篇:會(huì)和你從分布式事務(wù)、跨節(jié)點(diǎn)查詢、單體數(shù)據(jù)庫(kù)的特性這三個(gè)維度出發(fā),帶你深入到一個(gè)個(gè)關(guān)鍵功能的設(shè)計(jì)中,挖掘其背后可選擇的理論設(shè)計(jì)方案,分析方案之間的差異,以及工業(yè)界產(chǎn)品在方案落地實(shí)現(xiàn)時(shí)的改進(jìn)。
選型實(shí)踐 + 產(chǎn)品圖鑒
實(shí)踐篇:會(huì)聚焦于架構(gòu)選型,告訴你在企業(yè)中引入分布式數(shù)據(jù)庫(kù)需要關(guān)注哪些事情、做些什么準(zhǔn)備,比如會(huì)給運(yùn)維帶來(lái)哪些沖擊、怎么去做測(cè)試,基于什么原因你要選擇哪些分布式數(shù)據(jù)庫(kù)。最終,為你梳理一份分布式數(shù)據(jù)庫(kù)產(chǎn)品圖鑒,帶你一起檢閱這個(gè)時(shí)代最酷的基礎(chǔ)軟件。
來(lái)看看目錄,你可以找到你想要的??
訂閱福利
??掃我的二維碼,免費(fèi)試讀
結(jié)算用口令「Happy2021」,再減 ¥10
到手 ¥69,僅限「前 100 人」有效
走心的努力,才算真的努力。2 杯奶茶的價(jià)格,拿下這套分布式數(shù)據(jù)庫(kù)方法論,值了??
