初識華為雲資料庫GaussDBfor Cassandra

路過的憨 發佈 2022-12-04T04:14:50.172878+00:00

初識華為雲資料庫GaussDB(for Cassandra「local quorum查詢某個分區鍵的條數,每次查詢,條數都不一樣。」「按這個分區鍵的token修復,直接瞬間修復結束。但是再查,還是每次查詢條數不一致。

初識華為雲資料庫GaussDB(for Cassandra

「local quorum查詢某個分區鍵的條數,每次查詢,條數都不一樣。」

「按這個分區鍵的token修復,直接瞬間修復結束。但是再查,還是每次查詢條數不一致。」

「之前遇到墓碑丟失的問題,單個token查詢結果不一致,修復也解決不了」

…..

不用再為數據不一致苦惱,因為強一致的Cassandra來了,DBA們不用加班修數據了。

GaussDB(for Cassandra)是一款基於華為自主研發的計算存儲分離架構的分布式雲資料庫服務。是一個強一致性的系統,在華為雲高性能、高可用、高可靠、高安全、可彈性伸縮的基礎上,提供了一鍵部署、備份恢復、監控報警等服務能力。高度兼容開源Cassandra接口,並提供高讀寫性能,具有高性價比,適用於IoT、氣象、網際網路、遊戲等領域。

本文將從架構、主要特性、競爭力、應用場景等方面進行介紹。

設計架構:

GaussDB(for Cassandra)基於計算存儲分離架構,該架構基於華為內部強大且廣泛使用的自研分布式存儲系統DFV(數據功能虛擬化/Data Function Virtualisation),實現了一套Share Everything的雲開源架構,充分發揮了雲開源的彈性伸縮、資源共享的優勢,高度兼容Cassandra協議,擁有超強寫入性能,同時相比社區版具有分鐘級計算擴容、秒級存儲擴容、數據強一致等優勢,性能更強更穩定,數據更可靠,擴容更敏捷,適用於IoT、實時推薦、金融反欺詐檢測等場景。

GaussDB(for Cassandra)牛在哪?

高可靠:數據強一致,提供企業級數據可靠性

開源Cassandra讀寫數據採用最終一致性,此處用讀場景舉例:如果讀一致性要求為ONE,會立即返回離客戶端最近的一份數據副本,那麼這意味著第一次讀取到的數據可能不是最新的數據。如果讀一致性要求為QUORUM(即讀取任一數據中心中quorum數量的節點的結果,返回合併後timestamp最新的結果),則內核會自動觸發讀修復,然後返回給客戶端。假如此時有副本所在節點出現壞盤,在gc_graces的周期內沒有完成數據修復,部分副本屬於壞盤節點的業務數據,業務查詢過程中發現數據會概率性不正確。

GaussDB(for Cassandra)採用存算分離架構,數據的副本在DFV存儲平台保證,對計算節點來說數據單副本、數據強一致,查詢只需要從協調節點直接到數據節點取數據即可完成,規避了數據不一致修複數據造成的人力成本、業務查詢過程中發現數據會概率性不正確等問題。另外支持N-1個節點故障容忍,提供10倍以上的故障重構性能和備份恢復性能,保證數據的可靠性。

高擴展:秒級擴容,快速更神速

開源Cassandra採用一致性Hash算法對數據進行分區打散,整個環代表數據從負無窮到正無窮區間。集群中每個節點會有虛擬節點(Token)在環上,虛擬節點的數量可配置。黃圈代表節點1,藍圈代表要擴容的節點2,2個Token之間組成整個數據的其中一段Range區間,擴容後加入了新的Token,會產生新的Range,這些Range中的一部分會歸新節點2管理。那麼就需要把數據從節點1遷移到新節點2上去。遷移是通過讀取節點1上的數據寫入到節點2上,遷移的速度可以通過配置參數調整,整體遷移的時間由數據量與遷移過程中的讀寫速率有關。

GaussDB(for Cassandra)把多副本策略下沉到共享存儲,大幅提升彈性伸縮能力,如圖右側展示,新擴容的節點2隻需要重新映射Token2到節點2,就可以完成,無需做數據的讀取與寫入的搬遷動作,實現分鐘級計算擴容,相比開源擴容時間提升幾十倍。隨著業務的不斷增長,Cassandra可以分鐘級水平彈性資源擴展。在類似聖誕節等熱門節日,提前1天進行彈性擴容,為業務高峰預留資源,業務高峰過後進行縮容,這些對業務無感知。計算節點可以通過文件系統控制集群在DFV中的數據使用量,擴容縮容磁碟時通過重新分配最大使用量,可實現秒級存儲擴容,單實例支持海量數據存儲。

高性能:超高寫入,讀性能數倍提升

GaussDB(for Cassandra)在超強寫入性能的基礎上,通過使用C語言重構存儲引擎,減少系統GC,實現了數倍讀性能提升,拓寬了使用場景的外延,使其不僅僅適用於寫密集型的業務場景,在讀密集的場景中也具備了強競爭優勢,整體性能超越開源自建2~3倍。高安全:構築多層保護,為數據安全保駕護航

GaussDB(for Cassandra)通過VPC、子網、安全組、DDoS防護以及SSL安全訪問等多層安全防護體系,幫助用戶抵禦網絡攻擊,讓用戶上雲無憂。為什麼選擇GaussDB(for Cassandra)?




開源自建Cassandra

GaussDB(for Cassandra)

自動備份能力、PITR

×

超大數據量及複雜查詢支持

×

流表(數據變更捕獲)

×

離線分析

不完善

高可靠:雙向數據同步、無損升級

×

分鐘級擴容

×

全局索引

不完善

數據強一致

×

適用多種場景

工業製造&氣象業

隨著科技進度,採集的氣象數據指數增長,需要一種系統對地面、高空、海洋、重要天氣報、閃電、環境監測等衛星、雷達採集的數據能夠高性能寫入、查詢、在線、離線分析。

1.需要存儲對地面、高空、海洋、重要天氣報、閃電、環境監測等衛星、雷達等降雨量、濕度、溫度等PB級數據量

2.支撐來自各氣象採集點數據高並發寫入到Cassandra,GaussDB(for Cassandra)集群性能高於自建2~3倍,更適合高並發寫入讀取

3.GaussDB(for Cassandra)數據能夠支撐實時在線分析,為氣象算法、天氣預報做到實時精準分析

4.訪問資料庫進行離線數據分析,GaussDB(for Cassandra)能將離線分析時效縮短到60%

網際網路

GaussDB(for Cassandra)具備高並發寫入性能和高可擴展性,保障集群高可用和業務連續穩定性,非常適用於寫入規模量較大的網際網路大數據場景,如記錄大規模的用戶行為數據等。

1.存放用戶畫像數據,能夠完美解決特徵:數據量大、可以應對數據結構Scheme頻繁變更

2.查詢性能要求高;比如要買一雙鞋,搜索出的鞋子數據會根據用戶畫像的特徵做一定的排序展示,那麼要求查詢用戶特徵表的查詢性能非常高

3.推薦系統:根據用戶最近瀏覽的數據做分析之後,推薦相關資源給用戶

4.點讚系統:點讚計數系統

實時數據分析場景

GaussDB(for Cassandra)群組今天新來了一個成員,或者yutou今天發布一篇新文章,華為雲資料庫官方自動向該用戶發出歡迎郵件。

暱稱為yutou的同學今天發布了一組新照片,那麼另外一個程序自動向yutou的好友發送通知。

原生不具備的數據變更捕獲能力,GaussDB(for Cassandra)具有變更捕獲能力,能對數據的變更做實時在線分析,提供秒級的實時推送動作做出相應處理;具有完善的離線分析解決方案,可以將離線分析時效縮短到60%,為商家爭取更多的時間做出相應決策。

購買建議

GaussDB(for Cassandra)性能為開源2倍以上,存儲空間僅需開源自建1/3,幫助客戶節省成本,舉例如下:開源自建8u32g * 3節點 數據量:90G(三副本),購買GaussDB(for Cassandra)可選擇創建4u16g * 3節點 數據量:30G(DFV存儲三副本)。

關鍵字: