【云駐共創】從單機百萬tpmc到分布式千萬tpmc,GaussDB性能提升的3個關鍵技術剖析
1 華為云數據庫服務全景圖
1.1 華為云數據庫服務
華為云數據庫服務分為自研數據庫服務和云托管兩個主要服務類型
1.2 關系型數據庫和非關系型數據庫
在關系型數據庫中,我們有華為的自研數據庫GaussDB,其目前可以支持多種不同的生態
支持mysql等主流數據庫的接口和語法
支持數倉場景
支持TP和AP
在非關系型數據庫中,我們有兩大平臺,一個是華為的自研數據庫GaussDB,針對當前的市場上主流應用場景(文檔型,寬表型,緩存型,實質型)都可以支持,并且和主流數據庫接口兼容。
一個是MongoDB等數據庫在云上也有托管,華為云提供了很多應用工具助力開發者
數據庫遷移
數據遷移
數據庫運維(面向不同人員)
數據中介服務
2 華為自研數據庫關鍵技術
2.1 GAUSSDB(for openGauss)企業級分布式數據庫
定位為企業級分布式云數據庫,架構上著重構筑傳統數據庫的企業級能力和互聯網分布式數據庫的高擴展和高可用能力
GAUSSDB(for openGauss)架構圖
GAUSSDB(for openGauss)面向企業核心應用場景,對標一流數據庫打造。
2.1.1 GAUSSDB(for openGauss)遇到的問題
在傳統的服務器結構中,我們有CPU,內存等,CPU的速度比內存快很多,需要北橋去對接CPU和內存,從而降低時延
這種情況下,數據庫無需關注硬件的連接。
但是隨著CPU的速度增加,內存越來越多,北橋的作用越來越小,逐漸被淘汰。
當前當前主機不同的CPU通過高速總線連接在一起,CPU也可以直接連接內存。
這時我們就需要數據庫來考慮硬件架構。
CPU和內存之間的速率不一樣,為了解決速率問題,CPU有一級緩存,二級緩存,三級緩存等,但是當CPU數量過多時,如果數據庫無法感知硬件架構,每個CPU都在同時訪問
緩存時,都在加載同一個變量,CPU還要保證讀寫一致性,就會產生問題,這個效率會產生量級的降低
2.1.2 解決方法
NUMA-Aware技術原理上感知CPU等硬件架構的不對稱問題
實現方法:
把存在數據庫的數據進行分區處理,盡可能降低CPU之間的沖突問題,提高并行能力,并提供CPU的整體利用率
數據庫中全局變量有具體單CPU負責處理讀操作,其它CPU進行寫操作,減少數據訪問沖突
分布式強一致,分布式的GTM-Lite方案提供全局事務提交號管理,實現強一致性,且無中心節點性能瓶頸
實現方法:
CSN時間戳和事務號TXID解耦;
GTM-Lite僅僅管理全局時間戳;
本地時間戳和全局時間戳兩維度管理;
僅在事務提交時推進全局時間戳;
僅在涉及跨Shard訪問時才訪問全局時間踐,否則使用本地時間戳;
GTM-Lite異步同步,降低GTM-Lite訪問時延;
使用全局時間時,需要經過網絡多跳,會增加時延。解決方法是協調結點進行同步
想要利用好系統的資源
提高并行執行能力
充分利用當前多核特點,通過多線程并發執行,提高系統吞吐量
優化器生成運行規則,通過向量執行,提高執行效率
編譯執行提高CPU指令的利用率
從解釋執行向編譯執行轉變,答復降低算子的指令數量,提高運算效率
AI加持驅動數據庫自優化,自診斷
結合深度強化學習與全局優化算法,針對不同類別的參數進行細粒度調優
調優時間:由天降至分鐘級
索引推薦:基于用戶的單條語句或批量負載,推薦最優索引
持續采集數據庫運行數據,基于時序預測和異常檢測等算法實現智能監測
故障預警:預測資源、性能變化趨勢,故障異常智能檢測
2.1.3 GAUSSDB(for openGauss)實現效果
優化效果非常不錯
2.1.4 GAUSSDB(for openGauss)應用場景舉例
華為云GaussDB支撐工行核心業務系統國產化分布式改造
2.2 面向互聯網的云原生數據庫架構解析
2.2.1開源Mysql的挑戰
主備切換RTO時間較長
重建實例耗時過長
備機只讀數據新鮮度低
計算與存儲不解耦,利用率低
網絡資源利用率
備機數量有限(影響主機性能、組網復雜)
2.2.2 解決方案
NDP
算子下推支持:投影,謂詞,聚合算子,MVCC可見性判斷。在存儲節點對頁面進行判斷處理,極大精簡返回頁面大小,縮減網絡IO。count(*)查詢縮減IO吞吐達到40-80倍
高度并行(三層并行)
第一層:計算節點多worker并行查詢
第二層:由原有一個一個頁面串行讀,變成批量讀多個頁面,Page分布在不同slice上,多slice上并行讀取
第三層:單個存儲節點上,多個NDP處理線程并行處理Page,運算下推算子邏輯。
數據庫專用分布式存儲系統,極致的數據備份恢復性能
整體故障恢復時間比較
2.2.3GaussDB和開源數據庫相比優勢
2.2.4應用舉例
永安保險成功從某主流商業數據庫搬遷至GaussDB(for MySQL)
2.3 華為云GaussDB(for Influx)億級時間線技術解密
2.3.1 時序數據模型及主要應用場景
時序數據模型應用最多的兩個領域是Iot和監控
2.3.2 公有云SRE趨勢
以CloudMonitorCenter為例,時序數據庫支持了兩種業務場景的監控原始數據采集與存儲
系統指標:主要監控CPu、Disk、網卡、負載、TCP、NTP、Ping等。
自定義指標:包含容器監控指標、數據庫指標、進程指標、中間件指標、日志指標、業務指標等,不同指標類型的指標名稱、數據標簽、數據類型各不相同.
2.3.3云上運維監控系統面臨的挑戰
華為云業務快速增長過程中的挑戰:
業務類型多,變化快,分析訴求難于得到快速滿足
數據規模大,增長速度快數據處理實效要求高
不同業務關聯度高,故障根因分析困難
GaussDB NoSQL是基于華為最新一代DFV計算存儲分離架構打造的Active-Active全分布式架構多模NoSQL數據庫服務,高度兼容MongoDB、Cassandra、Redis、InfluxDB四款主流NoSQL接口,支持跨3AZ高可用集群,相比社區版具有分鐘級計算擴容、秒級存儲擴容、數據強一致、超低時延、高速備份恢復的優勢。適用于loT、氣象、互聯網、游戲等領域。
GaussDB(for Influx) : 一站式時序數據存儲、分析及洞察平臺
2.3.4 云原生時序數據庫GaussDB(for Influx)架構
分布式+存儲計算分離+高可用
2.3.5GaussDB(for Influx)億級時間線技術解密
時序數據90%的熱點在近期數據,保障海量數據存儲的同時提供極致性能
兩級分區策略
時間分區:數據按時間段分區,分區時長可配置,可根據需求定義全內存、全熱存儲或者全冷存儲數據庫。
時間線分區:根據shard key作Range/Hash分區。
可根據需求在新的時間分區切換分區策略
(hash/range)
數據分級
數據按照時間段分級·熱數據在內存
溫數據在SSD·冷數據放HDD
專用存儲引擎
寫性能加速
批流結合預聚合數據
異步日志
行列混合內存布同,減小數據轉換開銷
時序文件布局
面向時序數據專用布局
列式存儲,多級索引
多版本平滑升級
多級壓縮算法
時間相似性壓縮算法
時間差量壓縮
多模索引
維度索引:倒排索引定位數據源
時間線索引∶海量時間線kv索引
查詢加速
增加立件級BRIN索引,減小聚合計算,加速Scan
多級cache,加速聚合查詢
優化器代價評估,作大查詢控制,選擇二級索引or掃描
自適應壓縮算法
根據Timestamp以及field data不同數據類型以及數據變化趨勢,采用不同的數值變換算法,再根據變換后的數據分布設計自適應數值壓縮算法,最后結合高性能的字典編碼方法實現時序數據的高效自適應壓縮。同時針對TSM文件內的時間羸進行相似性壓縮,進一步降低時序數據存儲成本。
高性能多維聚合查
大數據量聚合查詢性能是開源的2~5倍;支持多維條件組合查詢;
技術方案
MPP架構,一條查詢語句在多節點及多核并發執行;
向量化查詢引擎,每次迭代批量返回數據,大數據星下查詢性能更好;
增量聚合引擎基于滑動窗口的聚合查詢,大部分從聚合結果緩存直接命中返回,僅而要聚合增量數據部分即可;
支持多維倒排索引,支持多維條件組合查詢,避免大量Scan數據;
支持存儲摘要索引,能夠更快的過濾無關數據;
存儲分析告截
4.總結
針對目前上市場上的開源數據庫非常多,且使用廣泛。不少開源數據庫在易用性、配套能力等方面較弱,需要不斷維護,而且一旦遇到數據丟失問題,很難快速恢復,造成的損失不可估量。也因此,開源數據庫上云只能解決中小企業的簡化部署、運維、調優、極致性價比等訴求。
華為云GaussDB(for Influx)憑借多模NoSQL服務GaussDB NoSQL和分布式+存儲計算分離+高可用架構從而在Iot和監控方面相比傳統數據庫產品優勢提升明顯。
在支撐傳統業務的基礎上,GaussDB持續構建競爭力特性,為企業面向5G時代的挑戰,提供了無限可能。
【華為云社區內容共創者火熱招募中】第四彈:耕耘五月,步履不停!
查看活動詳情: 從單機百萬tpmc到分布式千萬tpmc,GaussDB性能提升的3個關鍵技術剖析(全球)
https://live.huawei.com/hdc2021/meeting/cn/8192.html
數據倉庫服務 GaussDB(DWS)
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。