隨筆:從一組數(shù)據(jù)庫調(diào)研數(shù)據(jù)談起
近期,DBAPlus社區(qū)發(fā)布一組分布式數(shù)據(jù)庫的調(diào)研數(shù)據(jù)。通過數(shù)據(jù),可對國內(nèi)分布式數(shù)據(jù)庫產(chǎn)品、行業(yè)現(xiàn)狀有個全貌了解。正好本人也于近期走訪不少企業(yè)用戶,本文就結(jié)合這一組數(shù)據(jù)及個人一線體驗,談?wù)劮植际綌?shù)據(jù)庫在國內(nèi)使用情況及未來發(fā)展趨勢。
? 分布式數(shù)據(jù)庫普及程度
從分布式數(shù)據(jù)庫在企業(yè)內(nèi)的使用情況來看,大部分企業(yè)已經(jīng)有部署分布式數(shù)據(jù)庫??梢哉f,隨著分布式數(shù)據(jù)庫的趨于成熟,企業(yè)已從早期的觀望、了解階段,逐步過渡到嘗試使用階段。當(dāng)然我們還需客觀看待之一數(shù)據(jù),大部分用戶還是處于小范圍驗證階段,尚沒有在核心關(guān)鍵場景使用。一方面是擔(dān)心分布式產(chǎn)品的成熟穩(wěn)定性程度還達不到要求,一方面也是需要有個逐步替換過程。甚至在有些企業(yè)也看到了,部署有分布式數(shù)據(jù)庫,但沒有啟用分布式特性,僅作為單機庫使用,退化為數(shù)據(jù)庫的管理平臺。但總體來說,分布式數(shù)據(jù)庫已經(jīng)走過了早期探索階段,開始加速在企業(yè)內(nèi)推廣使用。
? 企業(yè)數(shù)據(jù)庫架構(gòu)組成
從企業(yè)數(shù)據(jù)庫架構(gòu)的選擇來看,絕大部分用戶選擇集中式與分布式相結(jié)合的方案。誠然,分布式數(shù)據(jù)庫存在諸多亮點,但完全取代集中式數(shù)據(jù)庫仍不現(xiàn)實。從筆者了解的情況來看,絕大部分業(yè)務(wù)場景是可以通過集中式架構(gòu)解決,只有部分在海量規(guī)模、高并發(fā)、高可用、彈性伸縮等有明確需求的,分布式架構(gòu)才更具優(yōu)勢。因此,理性看待不同數(shù)據(jù)庫架構(gòu),選擇更符合企業(yè)現(xiàn)狀及未來發(fā)展架構(gòu)是更為理智科學(xué)的。同時,我們也看到部分分布式數(shù)據(jù)庫廠商提出了“單機分布式一體化”的產(chǎn)品理念,旨在打造適用范圍更廣的產(chǎn)品,以更好地滿足企業(yè)發(fā)展現(xiàn)狀,同時為未來發(fā)展留有空間。
? 使用分布式數(shù)據(jù)庫場景
從使用場景來看,除了傳統(tǒng)的OLTP和OLAP外,互聯(lián)網(wǎng)業(yè)務(wù)和HTAP引人關(guān)注。作為分布式數(shù)據(jù)庫的早期使用者,互聯(lián)網(wǎng)業(yè)務(wù)很符合分布式數(shù)據(jù)庫的特點,其更為強調(diào)海量規(guī)模、高并發(fā)和彈性伸縮能力,而對數(shù)據(jù)庫的ACID等要求相對較低。從目前看來,筆者仍然認為互聯(lián)網(wǎng)業(yè)務(wù)是分布式數(shù)據(jù)庫的優(yōu)選場景之一。而HTAP則對數(shù)據(jù)庫的算力提出更高的要求,分布式數(shù)據(jù)庫提供的計算擴展能力,可以很好地滿足這一訴求。當(dāng)然,從使用來看HTAP的場景化還處于早期摸索階段,尚無明確場景定義,因此占比相對較低。至于OLTP,作為數(shù)據(jù)庫場景的大頭,一直占比很高;對于分布式數(shù)據(jù)庫而言還是有不小難度的。隨著技術(shù)發(fā)展,各廠商產(chǎn)品正突破這一難點,加速推廣使用。
? 選擇分布式數(shù)據(jù)庫原因
至于選擇分布式數(shù)據(jù)庫的原因,主要還是來自之前談到的海量規(guī)模、高并發(fā)、高可用等場景需求。此外,也包括提前的技術(shù)戰(zhàn)略規(guī)劃投入。這其中頗為意外的一點是關(guān)于降低成本。從筆者來看,大部分選擇分布式數(shù)據(jù)庫的成本投入是要高于傳統(tǒng)集中式或單機架構(gòu)。從節(jié)省成本角度來看,可能存在情況一是針對部分高端硬件投入減低,進而減少綜合使用成本;二是通過分布式整合大量分散的數(shù)據(jù)庫實例帶來的“池化”效應(yīng)導(dǎo)致的成本減低。至于從授權(quán)費用來看,用戶普遍反饋并不會降低太多成本,甚至還有所提高。
? 吸引用戶的分布式數(shù)據(jù)庫特性
從吸引用戶選擇的功能特性來說,主要還是擴展性和高可用性。前者是由于分布式架構(gòu)提供的計算與存儲的水平擴展能力所帶來的,后者則是分布式架構(gòu)下數(shù)據(jù)多副本特性等帶來的能力。其余如一致性、實時分析、兼容穩(wěn)定等能力,更多是在分布式產(chǎn)品直接選擇的考慮因素。
? 分布式數(shù)據(jù)庫的部署方式
從部署方式來看,以私有云、混合云、公有云為主要方式。其背后是希望通過云平臺帶來的更為靈活的資源供給方式與分布式數(shù)據(jù)庫的特性相結(jié)合,提供給使用者更好的使用體驗。相信未來云部署的比例會進一步增高。
? 企業(yè)已經(jīng)或計劃部署的分布式數(shù)據(jù)庫
從企業(yè)選擇來看,以O(shè)B、TiDB、GaussDB、TDSQL、PolarDB、GoldenDB為代表的分布式數(shù)據(jù)庫產(chǎn)品受到廣泛關(guān)注。至于具體排名及比例,因收集樣板等多方面原因僅供參考把。比較奇怪的是達夢、人大金倉,以我之前了解是沒有對應(yīng)分布式數(shù)據(jù)庫產(chǎn)品。從個人接觸來看,目前國內(nèi)的分布式數(shù)據(jù)庫產(chǎn)品尚沒有頭部玩家出現(xiàn),處于第一集團的廠商可能達到近十家,還有大量二、三線的廠商,整體還處于百花齊放的階段。
? 分行業(yè)看頭部的分布式數(shù)據(jù)庫產(chǎn)品
從各行業(yè)選擇的頭部廠商來看,主要是基于各廠商的生態(tài)、運營策略,出現(xiàn)了明顯的差異化。各家在不同行業(yè)持續(xù)深耕的同時,也在其他行業(yè)加大投入。
? 分布式數(shù)據(jù)庫選型要素
從用戶關(guān)心的選型要素來看,穩(wěn)定性被放在第一位。針對一個新產(chǎn)品、新架構(gòu),大家最先關(guān)注的正是這一點。相對于各種“花里胡哨”的功能,“皮實穩(wěn)定”是用戶更為看重的。但這一點也往往是需要長時間積累、不斷完善才可以。次之的是成本,對于分布式產(chǎn)品而言,由于其組件眾多、對硬件的要求也較高,因而整體擁有成本是偏高的,用戶在接受起來有一定困難。為應(yīng)對這一問題,廠商也紛紛在單機一體化、多租戶等技術(shù)方向上發(fā)力,盡量降低用戶擁有成本。第三是基本功能,分布式架構(gòu)產(chǎn)品較傳統(tǒng)的單機或集中式產(chǎn)品,部分功能是有所退化的,從用戶角度來講還是希望目標(biāo)產(chǎn)品能提供“等價”的產(chǎn)品能力。第四個兼容性,也是用戶能夠接受一個新產(chǎn)品很關(guān)注的一點,良好的兼容性能大幅降低用戶的接受難度,這點我近期的文章中也有談到。
? 各單項能力的頭部產(chǎn)品
從前四個選型要素來看,主要頭部玩家表現(xiàn)整體差距不大,OceanBase 取得三項第一,但領(lǐng)先幅度不大,其他幾家產(chǎn)品也在奮起直追。
? 采用分布式數(shù)據(jù)庫后成本變化
從成本角度來看,超八成受訪者認為有所降低或者持平,這點與我的認知有差異。個人判斷可能是因為原有大型商業(yè)數(shù)據(jù)庫(含硬件平臺)整體價格偏高,采用國產(chǎn)分布式數(shù)據(jù)庫成本有所降低。
? 企業(yè)關(guān)注的數(shù)據(jù)庫安全能力
從安全能力來看,覆蓋整個數(shù)據(jù)生命周期,從前期的數(shù)據(jù)產(chǎn)生(敏感數(shù)據(jù)識別)、數(shù)據(jù)傳輸(傳輸加密)、數(shù)據(jù)存儲(數(shù)據(jù)加密、國密算法)到數(shù)據(jù)使用(訪問控制、安全審計)。針對上面這些安全能力,各家產(chǎn)品能力差異較大,用戶在選擇上不得不在應(yīng)用層或中間層解決上述訴求。
? 企業(yè)對分布式數(shù)據(jù)庫生態(tài)工具需求
從生態(tài)工具來看,可視化是最為關(guān)注的,針對一款新產(chǎn)品能夠降低用戶疑慮的最好方法就是可視化。特別是一款分布式數(shù)據(jù)庫產(chǎn)品,組件眾多且與底層資源有很緊密關(guān)系,可視化尤為重要。次之則是數(shù)據(jù)交互類,如同步、導(dǎo)出導(dǎo)入工具,通過上述能力能將原有數(shù)據(jù)遷入其中,這對于使用者來說很重要。再次之才是診斷、擴縮容、容災(zāi)能力等。其實很多個性能力,如彈性伸縮,用戶在使用上也還是比較慎重的。
? 企業(yè)對分布式數(shù)據(jù)庫診斷優(yōu)化能力需求
除了通過監(jiān)控外,了解數(shù)據(jù)庫運行機理的話,執(zhí)行計劃、算子執(zhí)行情況及必要的診斷手段(如運維報告、鏈路跟蹤)也很重要。只有通過開放更多的“窗口”能力,將跟有助于用戶了解使用一款新產(chǎn)品。
? 企業(yè)使用分布式數(shù)據(jù)庫的痛點
在使用痛點上,排在第一的還是穩(wěn)定性,這也是用戶最為關(guān)注的。次之運維復(fù)雜性問題,分布式架構(gòu)+新產(chǎn)品,對用戶的運維提出了更高的要求。再次之是針對開發(fā)方面的改造成本、兼容性和遷移的問題。
? 分布式數(shù)據(jù)庫SQL兼容性能力
在SQL兼容性方面,作為流行的開源數(shù)據(jù)庫MySQL標(biāo)準(zhǔn)成為首選。隨著過去二十年MySQL的大量使用,國內(nèi)積累了大量的MySQL開發(fā)者,這對于企業(yè)應(yīng)用系統(tǒng)的開發(fā)無疑提供了豐富的開發(fā)者資源。首選MySQL作為兼容目標(biāo)成為必然。次之的Oracle,則是因為作為過去三、四十年作為成功的商業(yè)數(shù)據(jù)庫,Oracle也具備非常廣發(fā)、龐大的使用者群體。正因為對上述產(chǎn)品的兼容性,很多數(shù)據(jù)庫產(chǎn)品將對兩者的兼容提到很高的地位,很多產(chǎn)品都提供了MySQL和Oracle的兼容運行模式。
? 企業(yè)數(shù)據(jù)庫遷移可接受停機時間
超半成受訪者認為2個小時是能接受的切換上限。這無疑為廠商提供的產(chǎn)品提出了更好的要求。
? 數(shù)據(jù)庫廠商服務(wù)響應(yīng)時間情況
好的產(chǎn)品還需要好的服務(wù),服務(wù)響應(yīng)時間能用戶的第一感覺。超半數(shù)三分之一的廠商提供當(dāng)天到場服務(wù),但仍有很多次日乃至聯(lián)系不到的情況。這與當(dāng)前國內(nèi)數(shù)據(jù)庫廠商的生態(tài)建設(shè)還屬早期,沒有構(gòu)建出完善的生態(tài)體系有關(guān)。相信隨著玩家的集中,頭部廠商的生態(tài)將逐步完善成熟,可提供更為優(yōu)秀的服務(wù)能力。而對于中小玩家,則帶來更多的挑戰(zhàn)。
? 用戶對數(shù)據(jù)庫知識庫的需求
文檔是一個產(chǎn)品的門面,也是用戶了解產(chǎn)品的第一入口。記得之前白鱔老師寫過一篇對國內(nèi)產(chǎn)品文檔問題的文章,在這方面還需要多向國外產(chǎn)品學(xué)習(xí),逐步積累完善。次之的社區(qū)建設(shè),也正受到越來越多廠商的關(guān)注,并投入了更多的資源。