記得兩三年前,當人們在談論起分布式數據庫等技術時,還經常在用“未來”等詞語描述這一新技術的應用前景。在剛剛過去的2020年,新一代數據庫龍頭Snowflake成功上市,成為歷史上規(guī)模最大的軟件企業(yè)IPO。我們回頭一看才發(fā)現(xiàn),原來未來已來!
然而,分布式數據庫應該如何在企業(yè)中正確地落地,一直是業(yè)界討論的焦點。在國內,大部分讀者第一次了解到分布式數據庫時,首要的問題就是:分布式數據庫是否能替換Oracle?然而,從全球數據量發(fā)展的方向來看,其爆發(fā)性增長,主要集中在基于數字化創(chuàng)新的多樣化業(yè)務場景。因此,單純替代傳統(tǒng)Oracle占據核心優(yōu)勢的固有領域,并非是數據庫未來的增長方向。以Snowflake為例,其業(yè)務并沒有替換Oracle核心應用領域,卻以4億美元營收換回700億美元市值,正在撼動Oracle在數據市場的龍頭地位,其背后的原因值得我們深思。
基于“替換”的思維永遠無法“超越”
實際上,在替換Oracle的問題上,并沒有“能”或“不能”這樣一刀切的答案。分布式數據庫的設計初衷是解決全新的實際業(yè)務問題,在Oracle所無法滿足的場景中,與企業(yè)客戶一同迎接數字化轉型的機遇,而并不是為了單純替換某個原有系統(tǒng)。
傳統(tǒng)關系型數據庫在核心交易等領域深耕了40多年,到目前為止,大部分純交易場景不論從數據量還是商業(yè)模式都沒有本質的變化,其業(yè)務的擴展空間也十分有限。而在企業(yè)數字化轉型的過程中,數據量會隨著業(yè)務發(fā)展快速膨脹,形成全新的業(yè)務需求及數據增量,為數據庫帶來全新的市場機遇。
相比傳統(tǒng)關系型數據庫,分布式數據庫在提供ACID事務一致性的能力的同時,擁有更靈活的擴展能力,及多數據模型的處理能力。在面向海量數據彈性擴展的新興業(yè)務需求時,做到“不使用Oracle而選擇分布式數據庫”,是我們在行業(yè)中應用分布式架構的最佳實踐。也就是說,使用分布式數據庫逐步迭代,伴隨全新的數字化業(yè)務漸漸滲透到傳統(tǒng)業(yè)務,成為新的數據核心場景,是分布式數據庫技術在企業(yè)中最佳的落地方案。
因此,分布式數據庫的星辰大海,絕不僅僅在于對傳統(tǒng)關系型數據庫的簡單替換。如果只是為了使用及推廣新技術,而進行固有架構的替換,將會面臨極大的技術風險與挑戰(zhàn)。只有站在企業(yè)客戶的角度出發(fā),與客戶共同挖掘數字化轉型中的全新數據價值,才能突破固有框架,建立全新的分布式技術賽道,超越傳統(tǒng)的架構邊界。
如何選擇最佳落地場景
從業(yè)務場景的角度,自上世紀70年代末關系型數據庫誕生,Oracle、DB2等數據庫已經經歷了40多年的發(fā)展歷史,對于其固有的業(yè)務場景來說,基本已經做到了業(yè)界極致。而面向新的數據中臺聯(lián)機湖倉、微服務數據融合管理、海量數據實時訪問、非結構化在線處理等方面,傳統(tǒng)交易性數據庫則明顯力不從心。企業(yè)客戶選擇分布式數據庫落地場景時,應該選擇適當的應用場景,以真正發(fā)揮其優(yōu)勢能力,并持續(xù)打磨技術團隊的運維能力,逐步推向核心。
1) 數據中臺聯(lián)機湖倉
在不少的企業(yè)IT架構規(guī)劃中,數據中臺已經成為整個IT戰(zhàn)略的一部分,包含了歷史數據平臺甚至非結構化數據處理等多數據模型領域,幾乎覆蓋了企業(yè)中除了業(yè)務應用系統(tǒng)之外的全部數據處理及服務能力。
在此場景下Oracle無法滿足擴展能力,而Hadoop又無法支持實時并發(fā)業(yè)務。國際上也沒有直接與其對標的技術體系,最為貼近的則是Lakehouse(湖倉一體化)。Lakehouse的行業(yè)主要廠商包括像Snowflake及Databricks等分布式數據庫廠商,其產品可以分為數據湖與計算引擎兩大核心模塊。2020年Gartner進一步引入了Augmented Transactions Processing處理場景,強調事務一致性,要求數據庫在分析處理過程中同時保持低延遲,以提升實時聯(lián)機處理能力。
可以預見,支持Augmented Transactions Processing能力的聯(lián)機湖倉,將為數據中臺提升實時聯(lián)機處理能力,數據實現(xiàn)一次存儲多業(yè)務多數據模型同時使用,加速數據的處理效率,減少數據冗余,提供更綠色環(huán)保的數據基礎設施。
2) 微服務數據融合管理
微服務應用開發(fā)架構逐漸成為主流的今天,傳統(tǒng)一個應用對接一個數據庫的架構被拆散成幾十上百個微服務,每個微服務都可能需要使用獨立的數據庫實例,因此在企業(yè)內部數據庫實例數量近年來呈井噴態(tài)勢發(fā)展。
分布式數據庫的出現(xiàn)可以很好地解決數據庫實例批量管理中,擴展困難以及維護困難的問題。同時,基于引擎級多模技術,分布式數據庫可以基于同一份數據,支撐多種數據庫引擎的聯(lián)機交易,通過跨引擎事務一致性能力,為客戶打通微服務架構下異構數據源的ACID一致性。因此,分布式數據庫技術相比傳統(tǒng)Oracle等數據庫更有利于微服務化,為企業(yè)打通底層數據,降低數據的存儲及管理成本。助力研發(fā)團隊進行DevOps持續(xù)交付,提升產品研發(fā)效率。
3) 海量數據實時訪問
海量數據的存儲和計算通常由數倉(MPP數據庫)或大數據平臺(Hadoop)完成,數據量往往達到千億(甚至萬億)級別。傳統(tǒng)應用中,由于數倉中需要預先完成數據清洗入庫,數倉及大數據平臺無法支持實時并發(fā)數據訪問,限于現(xiàn)有平臺的處理模型,因此難以進行聯(lián)機業(yè)務的創(chuàng)新。然而,數據化轉型過程中,對客聯(lián)機交易、歷史數據服務平臺或IoT物聯(lián)網系統(tǒng)中,會產生要求聯(lián)機實時處理海量數據的解決方案。
分布式數據庫可以在這一場景中,協(xié)助企業(yè)客戶獲得更佳的使用體驗。首先,分布式數據庫與Hadoop及數據倉庫一樣具有很好的彈性擴展能力。其次,分布式數據庫可以提供與傳統(tǒng)關系型數據庫同等的ACID支持,以保障其關鍵業(yè)務的事務一致性。最重要的是,分布式數據庫可以更好地支持高并發(fā)的業(yè)務訪問,可以像使用單機數據庫一樣,在包含幾千億甚至萬億級記錄的表中實現(xiàn)毫秒級數據檢索。
4) 非結構化數據治理
非結構化數據包括圖片、文檔、音視頻等對象文件,以往只是單純存放于存儲系統(tǒng)中,提供單一的保存及調取功能。因此,除了直接操作這些文件的業(yè)務系統(tǒng)外,非結構化數據對于企業(yè)中的其他系統(tǒng)就是一個黑匣子,無法發(fā)揮數據的潛在價值。
如今的業(yè)務系統(tǒng)往往開始大規(guī)模聯(lián)機使用這類非結構化數據。例如,在業(yè)務中各類文件采集,交易過程頭像、指紋、聲紋監(jiān)管要求的原檔留存,各類業(yè)務的360客戶畫像系統(tǒng),處理過程需要與非結構化數據進行高頻比對,并發(fā)處理及采樣修正,這些場景都需要非結構化數據的聯(lián)機實時管理。單純采用NAS或網盤存儲海量非結構化數據,早已經無法滿足這類實時聯(lián)機處理能力的需求。
同時,數字化轉型中非結構化數據不再是靜態(tài)的文件。通過AI機器學習及比對分析,非結構化數據將包含更多元化的業(yè)務屬性,為各類業(yè)務系統(tǒng)提供信息輸入。因此,需要對其進行有效的分類治理,盤活非結構化數據資產的潛在價值。
分布式數據庫可以有效提升非結構化數據的實時處理能力,結合引擎級多模能力統(tǒng)一存儲結構化及對象數據,可以有效地實現(xiàn)基于標簽特征數據的分類治理,成為企業(yè)「非結構化數據治理」建立堅實的底座。
分布式技術演進趨勢
從技術角度,在各行業(yè)對海量數據、互聯(lián)網類應用快速發(fā)展的需求中,彈性擴張、多模式等功能是傳統(tǒng)Oracle數據庫所難以滿足的,也是分布式數據庫存在的最大價值與目的。在這類技術背景下,做到“不使用Oracle而選擇分布式數據庫”是最正確的答案。分布式數據庫的最佳落地與使用方式,正是從海量數據業(yè)務到核心的逐步迭代過程。先從存在海量數據彈性擴展的新興業(yè)務需求入手,隨著業(yè)務革新不斷的深入,逐漸滲透進傳統(tǒng)業(yè)務及應用中。
1) 彈性:存算分離實現(xiàn)靈活擴展
作為分布式數據庫,彈性擴展能力是其存在的核心意義與價值。相比起傳統(tǒng)MPP數據倉庫,新型分布式數據庫可以基于存算分離的部署模型,實現(xiàn)存儲與計算資源獨立擴展的能力,實現(xiàn)對應用層面無感知的按需彈性擴展。
2) 事務:原生分布式強一致性
在分布式技術逐步貼近業(yè)務核心的過程中,客戶對于ACID事務一致性的要求也持續(xù)提升。例如,在聯(lián)機交易業(yè)務中,往往要求“RR級別事務隔離”能力。在這類需求中,基于分庫分表技術的解決方案,由于數據庫本身無法提供此支持,(部分產品甚至不提供事務支持或通過1PC提交進行弱化)。導致需要借助大量外圍應用程序邏輯配合,才能達到最終一致性的效果,大量消耗開發(fā)人員的設計精力。而原生分布式數據庫,得益于源自內核的分布式設計,客戶可以放心地將事務一致性邏輯交由數據庫層進行處理,讓開發(fā)人員回歸到純粹的業(yè)務設計,為業(yè)務提供直接有效的研發(fā)產出,提升企業(yè)研發(fā)效率。
3) 融合:引擎級多模,打開湖倉一體新賽道
關系型數據庫經過了40多年的發(fā)展,早已經從最開始的純結構化模型衍生出了支持XML、JSON、地理信息、圖等不同的能力。傳統(tǒng)數據庫由于在同一個物理設備上使用同構引擎,多模式能力很難真正發(fā)揮到極致。而在分布式數據庫架構中,用戶完全可以使用不同的物理設備及底層數據結構,承載不同數據模型的計算及存儲引擎,真正做到原生的引擎級多模技術。從而提供跨不同數據模型乃至不同數據庫語言及引擎之間的數據共享,避免不同模型間進行聯(lián)機處理時,由于頻繁數據拷貝,導致傳輸延遲及存儲空間浪費?;诙嗄D芰嫿ㄍ瑫r滿足結構化、半結構化、非結構化數據的數據湖,同時賦予跨引擎數據一致性能力,及實時數據分析能力,真正意義上讓全局數據實時可見。開發(fā)者因此可以跨越不同數據引擎間的開發(fā)鴻溝,提升開發(fā)效率及系統(tǒng)性能,打開分布式技術的全新賽道。
總結
傳統(tǒng)關系型數據庫歷經了40多年的發(fā)展,在其主打的核心交易領域幾乎走到了極致。單獨以核心交易場景對標新型分布式數據庫,就好似用傳統(tǒng)的馬車標準來衡量新生的汽車技術,無法對新技術做到合理的評估。
分布式數據庫的誕生首先是為了解決傳統(tǒng)數據庫不擅長的場景,在關系型數據庫做到極致的領域同樣需要很長的時間才能完善。得益于高彈性、強事務一致、多模融合等特點,近年來不少企業(yè)已經在:數據中臺聯(lián)機湖倉、微服務數據融合管理、海量數據實時訪問、非結構化在線處理等領域,實現(xiàn)原生分布式數據庫規(guī)?;纳a落地。我們欣喜地看到,分布式數據庫的應用領域幾乎每年都會有大幅度擴展,成為支撐企業(yè)數字化改革升級中不可或缺的彈性數據基礎設施。
巨杉數據庫早在2014年起就發(fā)布基于多模引擎的支持,為客戶提供可同時管理多種數據結構的分布式數據基礎設施。已經協(xié)助超過100家金融銀行客戶和超過1000家企業(yè)用戶,提供分布式數據庫技術。借助自主專利的STP分布式序列時鐘協(xié)議,實現(xiàn)RR級事務隔離及跨引擎事務一致性能力,為數據中臺提供聯(lián)機湖倉生產落地的最佳實踐,已成功協(xié)助客戶在高達1.2萬億數據量生產環(huán)境下,提供安全穩(wěn)定、可靈活擴展、高性能、高并發(fā)的數據底座。
回顧過去的10年,分布式數據庫經歷了從行業(yè)質疑、小規(guī)模試水、到如今在部分行業(yè)的規(guī)?;瘧谩N覀儓孕?,在新的一年中我國的分布式數據庫產業(yè)一定會更加蓬勃發(fā)展,未來的三到五年分布式數據庫的應用規(guī)模有望超越Oracle成為核心交易業(yè)務的重要組成部分。
未來,借助100%自主研發(fā)的原生分布式數據庫引擎,及引擎級多模特性,巨杉數據庫將秉持以客戶為中心的價值觀,與客戶及上下游合作伙伴一同,為金融、能源、運營商及政企客戶提供優(yōu)質的產品、技術服務及生態(tài)支持,推動全球數字化進程。
分布式數據庫:未來已來。
(免責聲明:本網站內容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網站出現(xiàn)的信息,均僅供參考。本網站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。
任何單位或個人認為本網站中的網頁或鏈接內容可能涉嫌侵犯其知識產權或存在不實內容時,應及時向本網站提出書面權利通知或不實情況說明,并提供身份證明、權屬證明及詳細侵權或不實情況證明。本網站在收到上述法律文件后,將會依法盡快聯(lián)系相關文章源頭核實,溝通刪除相關內容或斷開相關鏈接。 )