什麼是最適合雲資料庫的架構設計?

2021-09-13 11:15:11 字數 1969 閱讀 5589

分布式資料庫技術發展多年,但是在應用、業務的驅動下,分布式資料庫的架構一直在不斷發展和演進。

開源金融級分布式資料庫sequoiadb,經過6年的研發,堅持從零開始打造資料庫核心引擎。在技術探索中,選擇了更適合雲資料庫場景的架構和引擎設計。本文也將詳細展開,介紹目前sequoiadb的架構與設計理念。

sequoiadb近日也完成由嘉實投資領投的c輪融資。本輪的領投方為嘉實投資,啟明創投與dcm作為早期投資方跟投。sequoiadb巨杉資料庫一直堅持技術驅動產品,專注打造金融級分布式資料庫,成為中國首次入選gartner資料庫報告的資料庫廠商。目前,巨杉資料庫付費企業級客戶與社群使用者總數超過1000家,並已在超過50家500強級別的銀行、保險、**等大型金融機構核心生產業務上線。

sequoiadb產品 發展歷程

計算-儲存分離架構

當前業界中常見的分布式架構包括分庫分表與計算儲存分離兩類。其中分庫分表架構以應用中介軟體切分或mycat等產品為代表。而如果說分庫分表架構是基於傳統資料庫進行簡單的上層封裝,真正的計算儲存分離架構則意味著在sql解析與底層的資料儲存均可進行自由的彈性擴充套件。

當前行業中最主流的雲資料庫實現(例如aws的aurora、阿里雲的polardb等)即通過將mysql伺服器直接構建在底層的分布式高效能儲存之上,通過定製化標準的sql引擎與底層資料通訊介面,實現底層分布式儲存與上層的sql解析執行器完全松耦合,兩者均可自由動態伸縮。

計算(sql)-儲存 分離架構示意

計算儲存分離體系的設計思想是以松耦合的方式將計算與儲存層分別部署,通過標準介面或外掛程式對各個模組和元件進行無縫替換,在計算層與儲存層均可實現自由的彈性伸縮。mysql與mariadb的架構可以說是關係型資料庫計算儲存松耦合結構的代表。在mysql 5.7及之前的版本中,其sql解析引擎與後台的資料儲存核心通過幾百個c++函式進行通訊。因此,在mysql資料庫中,dba可以選擇innodb、myisam、ndb、memory、甚至自己實現一套資料庫引擎來與前端的sql解析執行器進行對接。

分布式資料庫「計算-儲存分離」架構詳細示意

計算儲存分離架構的優勢之一在於,使用者可以根據自身的業務特徵自由選擇面向交易的sql解析器(例如mysql或pgsql),或面向統計分析的執行引擎(例如sparksql)。眾所周知,使用不同的sql優化與執行方式,資料庫的訪問效能可能會存在上千上萬倍的差距。計算儲存分離的核心思想便是在資料儲存層面進行一體化儲存,而計算層面則有效利用每種執行引擎的特點,針對不同的業務場景進行選擇和優化。

sequoiadb架構示意

同時,由於資料儲存層與計算層完全分離,使用者完全可以在儲存層進行邏輯與物理的隔離,將面向高頻交易的前端業務,與面向高吞吐量的統計分析使用不同的硬體進行儲存,確保在多型別資料訪問時互不干擾,以真正達到生產環境可用的多租戶與htap能力。

計算-儲存分離架構下的業務靈活隔離劃分

sequoiadb儲存引擎原生分布式架構

sequoiadb對mysql完整相容示意

小結以multimodel多模資料儲存引擎為基礎,通過業界主流的計算-儲存分離架構,實現引擎的分布式以及sql層對於mysql、postgresql以及sparksql的完整相容。這一整體架構設計相信是雲資料發展的主流架構設計。

sequoiadb正是應用了這一架構設計,實現了彈性擴張、多租戶、htap支援、與mysql全相容等能力,這也使開源的sequoiadb能夠更加緊密地參與到社群建設中,為我國的資料庫基礎軟體發展與mysql社群的壯大貢獻自己的力量!通過此次融資,巨杉資料庫將持續投入核心研發與技術創新,立足於金融行業覆蓋其他垂直領域市場,拓展更多企業級應用場景,加速國際化步伐,將巨杉資料庫打造成為世界級的分布式資料庫產品!

什麼資料庫最適合資料分析師

資料分析師都想使用資料庫作為資料倉儲處理並運算元據,那麼哪一款資料庫最合適分析師呢?雖然網上已經有很多對各種資料庫進行比較的文章,但其著眼點一般都是架構 成本 可伸縮性和效能,很少考慮另乙個關鍵因素 分析師在這些資料庫上編寫查詢的難易程度。最近,mode的首席分析師benn stancil發布了一篇...

資料庫架構設計

當您根據現有的資料庫規劃工作流應用程式時,請記住 將現有資料庫註冊為工作流應用程式之前,請製作該資料庫的乙個備份副本。不要試圖對產品資料庫進行設計更改。將資料庫移動並複製到某個測試環境中,並在該環境中執行所有工作流實現和架構更改。在確保工作流應用程式按照預期的那樣執行之後,請將其部署到生產伺服器中。...

最適合資料分析師的資料庫為什麼不是MySQL?

資料分析師都想使用資料庫作為資料倉儲處理並運算元據,那麼哪一款資料庫最合適分析師呢?雖然網上已經有很多對各種資料庫進行比較的文章,但其著眼點一般都是架構 成本 可伸縮性和效能,很少考慮另乙個關鍵因素 分析師在這些資料庫上編寫查詢的難易程度。最近,mode的首席分析師benn stancil發布了一篇...