91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

什么是最適合云數據庫的架構設計?

發布時間:2020-04-21 14:22:56 來源:網絡 閱讀:915 作者:OliverFinn 欄目:關系型數據庫

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

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

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

Multimodel多模數據庫引擎
在云計算與分布式時代,為單一結構化數據服務的傳統關系型數據庫也開始了不斷地發展。從2007年IBM DB2支持XML以來,越來越多的關系型數據庫開始支持XML與JSON等半結構化數據。因此,Gartner認為未來數據庫的發展方向是多模式的時代,一款成熟的數據庫產品需要利用分布式技術,支持除了關系型以外的多種訪問方式。
SequoiaDB則是一款典型的多模(Multi-Model)數據庫,全面覆蓋了結構化、半結構化與非結構化數據,同時滿足交易、影像存儲業務、以及統計分析業務的需求。
SequoiaDB通過其計算存儲分離架構,在NewSQL結構化數據領域有效利用MySQL、SparkSQL與PGSQL解析執行器,在保持行業標準100%兼容的同時,完美實現了在線交易與離線分析的HTAP混合交易分析負載的支撐。同時SequoiaDB使用API滿足企業對半結構化JSON數據的支持,以及通過兼容Posix文件系統以及S3接口實現了非結構化數據的存儲與訪問。
SequoiaDB存儲使用雙引擎架構,將文件大對象與數據記錄分別以最優的結構進行解析與存放,上層輔以統一的事務管理、集群管控、同步復制、會話管理等機制,支持數據與會話的邏輯與物理隔離,使其最大化滿足云時代的分布式管理與混合業務負載需求。
2017年底SequoiaDB發布了其3.0版本。在其發展路徑中可以看到,SequoiaDB的每一個大版本迭代均在之前的版本上進行了巨大的擴展與增強。其中,2013年正式發布的1.0版本作為單純的JSON數據庫,提供了對半結構化數據的支撐能力。而到了2015年的2.0版本,SequoiaDB開始完全支持了對象存儲。直到2017年底發布的3.0版本更是提供了對MySQL、PGSQL與SparkSQL的完美對接與100%兼容,全面支持NewSQL的分布式事務處理能力。
什么是最適合云數據庫的架構設計?
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 3.0的分離架構,整個數據庫可以通過自由對接不同的執行引擎,對同一份數據以不同的接口進行訪問。同時,SequoiaDB可以通過配置,指定在線業務訪問三副本中的兩份,而另一份則專門供SparkSQL進行統計分析,從而做到對同一份數據的訪問,在線應用與統計業務在物理硬件層面完全隔離。
什么是最適合云數據庫的架構設計?
計算-存儲分離架構下的業務靈活隔離劃分

對于在線交易業務來說,由于所有的分布式事務、鎖、索引等機制都是直接在底層的分布式引擎完成,上層使用任何SQL解析器都可以做到完全的ACID。
彈性伸縮
在云計算的時代,任何應用程序與中間件早已經通過微服務架構實現了動態擴容縮容。例如,企業可以在雙十一高峰前大規模租賃AWS或阿里云的服務器,將應用程序的計算與處理能力幾十倍地擴張。
但是,不同于應用程序,數據層面的彈性伸縮能力往往是應用程序擴展性最大的制約。例如,應用程序可以在一天內不停機地從3個Tomcat服務器擴展到30個,但底層的數據分庫分表機制幾乎不可能輕松自如地增減數據庫的服務節點。
什么是最適合云數據庫的架構設計?
SequoiaDB存儲引擎原生分布式架構

SequoiaDB通過一致性散列等機制,對底層數據庫擴容縮容做到完全在線且對應用透明無感知。對于需要存放大量數據的流水類業務,SequoiaDB甚至能夠提供“零數據遷移”策略,確保增加節點后系統不會產生任何需要產生大量I/O的后臺重平衡操作。
SequoiaDB可以通過增加數據分區與數據節點數量,對整個集群的存儲容量與計算能力進行彈性水平橫向擴張。
MySQL全兼容
SequoiaDB通過“計算-存儲分離”架構,提供了應用程序層面的MySQL全兼容能力。SequoiaDB直接利用在MySQL官網下載的MySQL Server,通過其存儲引擎插件的能力,提供了平行于InnoDB的SequoiaDB分布式存儲引擎插件。
SequoiaDB完全利用了大家多年來所習慣使用的MySQL數據庫服務,對于應用程序開發人員與DBA來說并不需要學習任何新的知識與語法,便可以無縫地將其應用程序從傳統的單點架構遷移到分布式數據庫。在從InnoDB存儲引擎向SequoiaDB分布式引擎切換時,所有的數據分區機制對上層應用程序完全透明零感知。同時SequoiaDB也提供了包括離線、在線、實時等多種遷移工具,供用戶在不同場景下進行選擇。
如今MySQL已經被大量互聯網與企業級用戶所使用。相比起需要重新構建SQL解析器與執行器的分庫分表策略,SequoiaDB的計算-存儲分離架構能夠最大化重用開發人員與DBA的原有技能,同時與MySQL社區保持緊密結合互動,通過其分布式存儲能力參與到MySQL的生態建設。
什么是最適合云數據庫的架構設計?
SequoiaDB對MySQL完整兼容示意
小結
以Multimodel多模數據存儲引擎為基礎,通過業界主流的計算-存儲分離架構,實現引擎的分布式以及SQL層對于MySQL、PostgreSQL以及SparkSQL的完整兼容。這一整體架構設計相信是云數據發展的主流架構設計。

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

洪江市| 界首市| 长白| 天台县| 绩溪县| 宁德市| 灌云县| 安庆市| 同仁县| 海丰县| 盖州市| 瑞丽市| 安化县| 兰西县| 合作市| 赤城县| 建昌县| 东莞市| 江油市| 玉田县| 通辽市| 泌阳县| 桂东县| 贺州市| 岫岩| 呼和浩特市| 五指山市| 历史| 扶风县| 澄城县| 清新县| 黄石市| 宜黄县| 滦南县| 石棉县| 齐齐哈尔市| 故城县| 泸水县| 柳林县| 积石山| 宁河县|