新聞中心
“Database Plus”,是近期比較火熱的一個(gè)理念,其最早是由我前同事、現(xiàn)SphereEx公司CEO張亮率先提出的,并通過開源項(xiàng)目 ShardingSphere(下文簡稱SS) 做了工程化實(shí)現(xiàn)。作為一名數(shù)據(jù)庫領(lǐng)域從業(yè)者,對這一理念有著自己的一些解讀。

為河口等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及河口網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)、河口網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
1、對 Database Plus 的解讀
作為數(shù)字基礎(chǔ)設(shè)施的核心,數(shù)據(jù)庫扮演著愈發(fā)重要的作用。從數(shù)據(jù)庫承擔(dān)的最為樸素的職能來看,可大致分為兩個(gè)部分即存儲(chǔ)和計(jì)算。作為數(shù)據(jù)的主要載體,數(shù)據(jù)庫的一大職能是完成數(shù)據(jù)的存儲(chǔ),保證數(shù)據(jù)安全可用;第二大職能為數(shù)據(jù)計(jì)算,即在存儲(chǔ)基礎(chǔ)上提供數(shù)據(jù)的上層計(jì)算。這里所說的計(jì)算具有非常寬泛范疇,既包括對數(shù)據(jù)簡單的CRUD,也包括對數(shù)據(jù)的高階分析、挖掘及更為廣闊的其他計(jì)算場景。隨著近些年數(shù)字化轉(zhuǎn)型深化,數(shù)據(jù)被提到更高層面得到重視,數(shù)據(jù)種類、規(guī)模迅速膨脹,同時(shí)企業(yè)對數(shù)據(jù)使用呈現(xiàn)多樣化特點(diǎn)且針對特性能力提出更高要求。相應(yīng)的也對數(shù)據(jù)底層基礎(chǔ)設(shè)施之一的數(shù)據(jù)庫提出了相應(yīng)的要求。這里可集中表現(xiàn)在實(shí)時(shí)性、敏捷性、安全性、可用性、經(jīng)濟(jì)性、智能化、高性能、強(qiáng)管控、自主化、開放性、融合化及創(chuàng)新性等諸多方面。這部分可參考之前文章數(shù)字化轉(zhuǎn)型下數(shù)據(jù)庫面臨的12個(gè)挑戰(zhàn)
而Database Plus 理念的核心定位,正是基于上述現(xiàn)狀,創(chuàng)造性地提出在底層數(shù)據(jù)庫不變的情況下,通過在其上層構(gòu)建增強(qiáng)計(jì)算引擎,突破原有數(shù)據(jù)庫功能局限,提升數(shù)據(jù)基礎(chǔ)設(shè)施整體功能上限。通過對 Database Plus 理念產(chǎn)品 ShardingSphere功能研讀,其對數(shù)據(jù)計(jì)算做了三層劃分。一是原生數(shù)據(jù)庫的計(jì)算能力,根據(jù)數(shù)據(jù)庫的不同,其原生計(jì)算能力各有差異。SS 實(shí)現(xiàn)與底層數(shù)據(jù)庫的解耦,可靈活對接多種數(shù)據(jù)源,充分復(fù)用原生數(shù)據(jù)庫提供的基礎(chǔ)能力。二是基礎(chǔ)計(jì)算的增強(qiáng)能力,這部分主要是指對數(shù)據(jù)庫自有核心能力的增強(qiáng)。受限于宿主數(shù)據(jù)庫的功能缺失,可通過此方式增強(qiáng)其能力。比較典型的能力如數(shù)據(jù)分片、分布式事務(wù)、分布式查詢優(yōu)化等。三是數(shù)據(jù)應(yīng)用計(jì)算的增強(qiáng)能力,數(shù)據(jù)最終是要參與到應(yīng)用中才能發(fā)揮價(jià)值,在這一過程中需要對數(shù)據(jù)產(chǎn)生大量業(yè)務(wù)計(jì)算。很多原生數(shù)據(jù)庫是不具備或不擅長處理這種應(yīng)用類計(jì)算??赏ㄟ^這一模式擴(kuò)展增強(qiáng)計(jì)算。比較典型的能力如數(shù)據(jù)加密、數(shù)據(jù)脫敏、數(shù)據(jù)壓測、訪問審計(jì)等。
過去針對這三類需求,通常有兩種路徑。一種路徑是通過不斷增強(qiáng)數(shù)據(jù)庫內(nèi)核,不斷疊加功能滿足一、二類訴求,很多功能強(qiáng)大的數(shù)據(jù)庫產(chǎn)品不斷涌現(xiàn),但也不可避免面臨內(nèi)核的復(fù)雜、龐大及臃腫,同時(shí)也大幅抬高工程化實(shí)現(xiàn)難度和復(fù)雜度。第二種路徑是構(gòu)建很多垂直的數(shù)據(jù)應(yīng)用滿足第三類訴求。這種方式不在數(shù)據(jù)庫自身實(shí)現(xiàn),而是通過完全獨(dú)立的應(yīng)用系統(tǒng)完成。當(dāng)然在企業(yè)中就會(huì)面臨運(yùn)維繁多技術(shù)產(chǎn)品和大量豎井式的應(yīng)用而無法整合的窘境。我們從 SS 的實(shí)現(xiàn)上看,其提出可插拔理念及上層插件化應(yīng)用,可用一種形象的比喻來概括就是“雙擎動(dòng)力+渦輪增壓“。這一從汽車領(lǐng)域衍生過來的概念,可很好地詮釋其實(shí)現(xiàn)理念。原生的數(shù)據(jù)庫提供的基礎(chǔ)算力引擎,如傳統(tǒng)的汽油發(fā)動(dòng)機(jī);SS提供的基礎(chǔ)計(jì)算增強(qiáng)可比喻為渦輪增壓部分,其在原生數(shù)據(jù)庫計(jì)算引擎之上,增強(qiáng)其能力;第三部分應(yīng)用計(jì)算的增強(qiáng)則可理解為第二引擎,如新興的電力引擎。通過這種混合動(dòng)力+渦輪增壓的配置,可大幅提升原有動(dòng)力系統(tǒng),滿足用戶更好的動(dòng)力要求。但同時(shí)有一點(diǎn)不可忽視,就是無論怎么增強(qiáng)對用戶是無感的,用戶可見的只是動(dòng)力增強(qiáng)了。還原到真實(shí)場景下,就是用戶依然會(huì)使用數(shù)據(jù)庫,依然通過SQL語句計(jì)算數(shù)據(jù)和管理數(shù)據(jù)庫,但對應(yīng)數(shù)據(jù)庫自身已經(jīng)是一個(gè)“Super Database”了。
除此之外,Database Plus 理念還有一點(diǎn)不容忽視。這里談到的plus的概念,是非常多元的,可以在其上疊加大量的功能。這些功能是靈活的、發(fā)散的,甚至是個(gè)性化。而作為傳統(tǒng)數(shù)據(jù)庫的定位是標(biāo)準(zhǔn)的、統(tǒng)一的基礎(chǔ)軟件,很難滿足上述要求。而作為 Database Plus 理念實(shí)踐產(chǎn)品 SS,率先提出了“插件化、可插拔”思想,可滿足對靈活多變的計(jì)算支持,同時(shí)借助平臺(tái)層提供的統(tǒng)一標(biāo)準(zhǔn)的訪問方式,旨在打造數(shù)據(jù)庫上層應(yīng)用、管理的標(biāo)準(zhǔn)。用戶及生態(tài)合作伙伴,完全可根據(jù)自身場景需求豐富插件能力,提升產(chǎn)品功能外延。打造出屬于自己的“DIY DB”或“組件化DB”的產(chǎn)品。SS 本身也是希望能吸引到更多的共享者,打造完整的數(shù)據(jù)庫使用生態(tài)。
2、外部挑戰(zhàn)及Db Plus解決之道
上文談到了數(shù)字化轉(zhuǎn)型深化中對數(shù)據(jù)庫提出的若干挑戰(zhàn),這里我們就若干挑戰(zhàn)內(nèi)容稍微展開說明并談?wù)勛鳛镈atabase Plus理念的實(shí)踐者 SS 是如何解決這些問題的。
- 大規(guī)模
數(shù)據(jù)規(guī)模爆炸式增長是目前面臨的痛點(diǎn)問題之一。為解決這一問題,比較常規(guī)的就是數(shù)據(jù)分片,即通過數(shù)據(jù)的打散降低單體數(shù)據(jù)處理規(guī)模,因而可承載更大的數(shù)據(jù)量。目前分布式數(shù)據(jù)庫的處理思路基本都是這種。這其中的難點(diǎn)問題在于數(shù)據(jù)分片的規(guī)則是什么?一種方式是采用內(nèi)置的分片策略,用戶無需感知。這種方式的用戶體驗(yàn)很好,用戶可完全按照一個(gè)“BIG DB”來使用它。很多在數(shù)據(jù)分片下的能力,完全可以系統(tǒng)內(nèi)置。很多原生分布式數(shù)據(jù)庫產(chǎn)品就是這種策略,它的功能上限很高,比較符合使用者對數(shù)據(jù)庫的定位。但這一方式有不可回避的問題在于,分布式架構(gòu)的引入所造成穩(wěn)定性、高性能及其他功能缺失。第二種方式是開放分片策略,用戶可根據(jù)業(yè)務(wù)需求干預(yù)分片的位置。這種方式對用戶有一定浸入性,但也做到更好掌控。很多基于中間件演進(jìn)的分布式數(shù)據(jù)庫產(chǎn)品基于此類。這類產(chǎn)品穩(wěn)定性相對更好,可滿足高性能要求等。ShardingSphere 的策略與第二種方式類似,只是做的更為極致,其原生提供了更為豐富和強(qiáng)大的分片能力的同時(shí),還提供給用戶充分的自主權(quán),可完成精細(xì)粒度的用戶定制工作。
- 實(shí)時(shí)性
實(shí)時(shí)性對企業(yè)數(shù)字化轉(zhuǎn)型尤為重要,實(shí)時(shí)鮮活的數(shù)據(jù)對企業(yè)尤為重要。傳統(tǒng)單機(jī)/集中式數(shù)據(jù)庫通過存儲(chǔ)結(jié)構(gòu)優(yōu)化、緩存的引入、執(zhí)行計(jì)劃優(yōu)化、軟硬件結(jié)合等方面很好地滿足了實(shí)時(shí)性要求。但在分布式條件下,上述優(yōu)化手段不再有效。此外,分布式架構(gòu)下數(shù)據(jù)庫需要跨組件參與計(jì)算也拖慢數(shù)據(jù)實(shí)時(shí)性反饋。如何復(fù)用單機(jī)/集中式數(shù)據(jù)庫的能力,在分布式場景下滿足需求成為關(guān)鍵。SS提供的Driver模式,給人眼前一亮的感覺。其將增強(qiáng)計(jì)算能力上移到應(yīng)用側(cè),縮短訪問鏈路,提升整體性能,滿足對數(shù)據(jù)實(shí)時(shí)性的要求。當(dāng)然,這一方式有天然缺陷,僅限于Java應(yīng)用可使用。
- 安全性
數(shù)據(jù)安全,是近些年來的熱門話題。從監(jiān)管方的頻頻出臺(tái)各項(xiàng)政策,可見一斑。作為承載數(shù)據(jù)的主體,數(shù)據(jù)庫首當(dāng)其沖將更為重視安全問題。從數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)訪問、數(shù)據(jù)傳輸、數(shù)據(jù)應(yīng)用等多角度解決數(shù)據(jù)安全問題。傳統(tǒng)的處理方式是通過數(shù)據(jù)庫與安全系統(tǒng)配合來完成上述要求,用戶需要依賴引入外部安全應(yīng)用軟件并去適配多種數(shù)據(jù)庫來完成。SS 的插件化理念,可通過引入多種安全插件能力來完成,并且對外提供標(biāo)準(zhǔn)數(shù)據(jù)庫接口。針對多數(shù)據(jù)庫棧的問題,也可通過靈活的適配能力來解決,甚至在上層提供統(tǒng)一的數(shù)據(jù)視角,完成高階的數(shù)據(jù)安全治理行為。
- 可用性
可用性,是數(shù)據(jù)庫需提供的基本保障。之前單機(jī)架構(gòu)或集中式架構(gòu),一般是通過高可用硬件+軟件來解決;對于新興的分布式架構(gòu)來說,其組件更多也更為復(fù)雜,且對于硬件也無較多要求,這就要求軟件本身提供更高要求。SS 的處理思想是利用底層數(shù)據(jù)庫原生高可用能力,并打通與后者的感知能力。充分利用成熟數(shù)據(jù)庫的自身能力完成。當(dāng)然,這種方式存在局限,針對全局的可用性是無法解決的,目前只能在單體層面解決。
- 經(jīng)濟(jì)性
隨著數(shù)據(jù)存儲(chǔ)規(guī)模越來越大,對數(shù)據(jù)計(jì)算要求越來越高,整體數(shù)據(jù)存儲(chǔ)和計(jì)算的成本也整體提高。特別是在現(xiàn)有分布式架構(gòu)下,對資源消耗尤為明顯。上述都造成用戶較高的經(jīng)濟(jì)成本。SS 走了另一條道路,它通過計(jì)算邏輯上移,將計(jì)算資源和應(yīng)用合并部署,減少對底層資源新的需求,可提高經(jīng)濟(jì)性。當(dāng)然這里需要考慮資源沖突問題,它的最新版本似乎解決了這個(gè)問題。
- 簡化融合
數(shù)字化深化帶來的技術(shù)需求的多元化,與之對應(yīng)的產(chǎn)品方案也呈現(xiàn)同樣的態(tài)勢,對于數(shù)據(jù)庫方面尤為明顯。雖然可以通過統(tǒng)一管理角度去簡化管理,但對于用戶而言仍然不得不去面對復(fù)雜的使用問題。如果通過統(tǒng)一接口提供能力,無疑對用戶非常有吸引力,這就是簡化融合訴求的來源。Database Plus 倡導(dǎo)的在數(shù)據(jù)庫上層構(gòu)建統(tǒng)一、標(biāo)準(zhǔn)、開放的生態(tài),正契合這一訴求。未來對數(shù)據(jù)庫的使用,完全可根據(jù)上層統(tǒng)一標(biāo)準(zhǔn)來實(shí)施。針對如數(shù)據(jù)安全、訪問審計(jì)、訪問控制等訴求,都可考慮在上層解決。當(dāng)然這里面難點(diǎn)不少,如何抽象屏蔽下層復(fù)雜細(xì)節(jié)值得深思。
- 自主可控
對基礎(chǔ)軟件來說,自主可控非常關(guān)鍵。作為數(shù)字化的載體,數(shù)據(jù)庫的自主可控能力尤為重要。近些年國產(chǎn)化訴求日益高漲,也有著這方面的考慮。這其中值得關(guān)注的一點(diǎn)是關(guān)于開源的使用。SS 作為Apache開源的頂級項(xiàng)目,在這里無疑是有優(yōu)勢的。通過頂級、權(quán)威開源基金會(huì)的扶植,會(huì)使得開源項(xiàng)目更加健康發(fā)展。
3、對 Database Plus 的發(fā)展暢想
Database Plus,作為一種新的數(shù)據(jù)使用思想,還處在相對早期階段。但通過這一理念落地的成果-SS,已展示出不錯(cuò)的發(fā)展態(tài)勢。在底層成熟的數(shù)字基礎(chǔ)設(shè)施之上,以開放、標(biāo)準(zhǔn)、可插拔為指導(dǎo)原則,構(gòu)建面向增值能力的數(shù)據(jù)應(yīng)用基礎(chǔ)平臺(tái)。幫助用戶快速提升數(shù)據(jù)應(yīng)用水平,構(gòu)建標(biāo)準(zhǔn)的數(shù)字化基礎(chǔ)設(shè)施,其前景未來可期!
作者介紹
韓鋒,社區(qū)編輯,CCIA(中國計(jì)算機(jī)協(xié)會(huì))常務(wù)理事,前Oracle ACE,騰訊TVP,阿里云MVP,dbaplus等多家社群創(chuàng)始人或?qū)<覉F(tuán)成員。有著豐富的一線數(shù)據(jù)庫架構(gòu)、軟件研發(fā)、產(chǎn)品設(shè)計(jì)、團(tuán)隊(duì)管理經(jīng)驗(yàn)。曾擔(dān)任多家公司首席DBA、數(shù)據(jù)庫架構(gòu)師等職。在云、電商、金融、互聯(lián)網(wǎng)等行業(yè)均有涉獵,精通多種關(guān)系型數(shù)據(jù)庫,對NoSQL及大數(shù)據(jù)相關(guān)技術(shù)也有涉足,實(shí)踐經(jīng)驗(yàn)豐富。曾著有數(shù)據(jù)庫相關(guān)著作《SQL優(yōu)化最佳實(shí)踐》、《數(shù)據(jù)庫高效優(yōu)化》。
文章標(biāo)題:談?wù)剬atabasePlus認(rèn)識與暢想
鏈接分享:http://fisionsoft.com.cn/article/cdphcod.html


咨詢
建站咨詢
