你好,我是高洪濤,前華為云技術(shù)專家、前當(dāng)當(dāng)網(wǎng)系統(tǒng)架構(gòu)師和 Oracle DBA,也是 Apache ShardingSphere PMC 成員。作為創(chuàng)始團(tuán)隊核心成員,我深度參與的 Apache ShardingShpere 目前已經(jīng)服務(wù)于國內(nèi)外上百家企業(yè),并得到了業(yè)界廣泛的認(rèn)可。 我在分布式數(shù)據(jù)庫設(shè)計與研發(fā)領(lǐng)域工作近 5 年,也經(jīng)常參與和組織一些行業(yè)會議,比如中國數(shù)據(jù)庫大會、Oracle 嘉年華等,與業(yè)界人士交流分布式數(shù)據(jù)庫領(lǐng)域的最新動向和發(fā)展趨勢。 近十年來,整個行業(yè)都在爭先恐后地進(jìn)入這個領(lǐng)域,從而大大加速了技術(shù)進(jìn)步。特別是近五年,云廠商相繼發(fā)布重量級分布式數(shù)據(jù)庫產(chǎn)品,普通用戶接觸這門技術(shù)的門檻降低了,越來越多人正在參與其中,整個領(lǐng)域生態(tài)呈現(xiàn)出“百花齊放”的態(tài)勢。 2021 年數(shù)據(jù)大會上,阿里云發(fā)布了分布式數(shù)據(jù)庫使用率統(tǒng)計圖 學(xué)好分布式數(shù)據(jù)庫將給你帶來哪些機(jī)會?但在生產(chǎn)實踐過程中我們會發(fā)現(xiàn),許多技術(shù)人員對分布式數(shù)據(jù)庫還停留在一知半解的狀態(tài),比如下面這些疑問:
這本質(zhì)上就是由于缺乏對分布式數(shù)據(jù)庫基本原理的了解,容易導(dǎo)致使用該種數(shù)據(jù)庫時問題頻發(fā)。好比 Apache Cassandra 或 Azure CosmosDB 都支持多種一致性,但如果不了解分布式一致性模型,你很有可能會選錯,從而造成業(yè)務(wù)數(shù)據(jù)不一致等問題。 也因此長久以來,業(yè)界一直存在一個典型的誤解:分布式數(shù)據(jù)庫只能遵循 CAP 原則,無法實現(xiàn)傳統(tǒng)數(shù)據(jù)庫的 ACID 級別的一致性,我的業(yè)務(wù)無法遷移到分布式數(shù)據(jù)庫上。 而事實上,現(xiàn)代分布式數(shù)據(jù)庫(特別是 NewSQL 類數(shù)據(jù)庫),已經(jīng)可以在一定程度上解決這一問題了。(我會分別在第 5 講和第 15 講中和你討論一致性模型,你會獲得想要的答案。) 雖然傳統(tǒng)數(shù)據(jù)庫中,大多數(shù)會使用復(fù)制同步技術(shù)來提高查詢性能和可用性,但這些技術(shù)像一堆“補(bǔ)丁”,對已經(jīng)不堪重負(fù)的傳統(tǒng)數(shù)據(jù)庫進(jìn)行修修補(bǔ)補(bǔ),解決問題有限的同時,反而可能帶來更多問題(比如,復(fù)制延遲會長期困擾 MySQL 的復(fù)制高可用方案)。 而分布式數(shù)據(jù)庫,基本上是從底層開始,針對分布式場景設(shè)計出來的,因此從基礎(chǔ)層面就可以解決傳統(tǒng)數(shù)據(jù)庫的一些棘手問題。雖然初期投入相對大一些,卻可以保證后續(xù)技術(shù)體系的健康發(fā)展,在長期成本上具有顯著優(yōu)勢。 此外,分布式數(shù)據(jù)庫好比一個“百寶箱”,其中蘊(yùn)含了獨具特色的設(shè)計理念、千錘百煉的架構(gòu)模式,以及取之不盡的算法細(xì)節(jié)。隨著分布式數(shù)據(jù)庫迅猛發(fā)展,越來越多的研發(fā)、產(chǎn)品和運(yùn)維人員或多或少都會接觸分布式數(shù)據(jù)庫,因此學(xué)好分布式數(shù)據(jù)庫,也會為你提升職場競爭優(yōu)勢帶來幫助,成為你技術(shù)履歷上的閃光點。
學(xué)習(xí)過程中有哪些難點?不過,分布式數(shù)據(jù)庫的學(xué)習(xí)曲線非常陡峭,你會發(fā)現(xiàn)與其他知識類型相比,它有一個顯著的區(qū)別,就是:學(xué)習(xí)資料過于豐富,且難度普遍不低。
這也在一定程度上導(dǎo)致人們對分布式數(shù)據(jù)庫這一概念“誤解”不斷。不過,這也堅定了我想要幫助你了解通用分布式數(shù)據(jù)庫的設(shè)計原理,借此帶你重新審視業(yè)務(wù)實踐的決心。 學(xué)習(xí)本課程后,你將對技術(shù)選型、系統(tǒng)架構(gòu)設(shè)計,以及如何解決關(guān)鍵的技術(shù)難題有更為清晰的方案;在晉升評審&面試求職中,也能更加從容地應(yīng)對相關(guān)技術(shù)問題。 我是如何設(shè)計這個課程的?由于分布式數(shù)據(jù)庫內(nèi)涵豐富,知識結(jié)構(gòu)繁雜,為使你能高效了解和掌握其中的關(guān)鍵信息,我采用了三種思路來設(shè)計這個課程。
基于以上設(shè)計思路,我把課程分為 4 個模塊,合計 24 講。
講師寄語本課程的設(shè)計目標(biāo)是,盡最大程度解決你的實際問題,讓你在不同的工程實踐中,對分布式場景下的數(shù)據(jù)庫存儲有更加專業(yè)的認(rèn)知,并對技術(shù)趨勢建立深入的洞察。 希望與這門課程有幸結(jié)緣的你,能夠從中獲得新的靈感,為自身的事業(yè)加油助力。 |
|