大數據“復活”記
1142
2025-03-31
GaussDB(DWS)為什么要支持邏輯集群
傳統的基于MPP的分布式數據倉庫采用的是全對等架構,每個表數據平均分布到所有節點中,這樣能保證足夠的并發度以及節點間協同,保證性能SLA。只要保證數據在所有節點上是均衡的,數據查詢會將計算平均分配到所有節點上,結構簡單,擴展性好 。
隨著業務越來越大,這種簡單的數據分布方式可能會帶來一些問題。具體表現為:
用戶不斷把各種業務數據集成到一個數倉中,不同業務邏輯訪問同一個數倉,這減少了維護多個數倉的成本,運維方便。但也會導致數倉的數據規模越來越大,表越來越多。不同業務訪問數倉過程中會帶來資源的競爭,比如CPU、內存、磁盤IO、網絡的競爭。雖然通過配置資源池可以一定程度解決資源競爭,但所有業務執行邏輯仍然同時在每個節點上執行,無法做到資源完全隔離。事實上,同一業務的不同作業總是傾向訪問本業務相關的表,對其他業務的表訪問較少,如果能做到業務內數據“高內聚”,業務間“低耦合”無疑是更好的選擇。
數據庫表無論大小都被切分到所有節點,對小表來說,數據過于分散。當節點規模達到一定程度后,通過增加更多節點,提高查詢并行度的方式可能就無法帶來理想的擴展性了。如果為了避免集群變大,將不同業務數據拆分成獨立集群,集群間數據互訪就需要從應用層解決,或者需要跨集群導數。
邏輯集群實現了一個大集群按節點拆分,將大集群中所有節點分組,每個節點組構建一個邏輯集群,可以很好的解決上面所述的問題。
企業可以根據不同業務的數據規模為其創建不同節點數的邏輯集群,由于不同節點屬于不同的邏輯集群,這樣可以做到不同業務之間物理資源徹底隔離。在一個邏輯集群內部,所有節點是對等的,數據保持均衡,確保邏輯集群內部作業高效運行。同時,由于所有業務仍然在一個統一的大集群內,有統一的元數據管理和節點管理,跨邏輯集群數據互訪非常容易和高效,這樣就可以做到高內聚,低耦合。
邏輯集群的能力
邏輯集群實現了三種隔離:
數據隔離:不同業務的表創建在不同邏輯集群上,表數據物理上隔離;
資源隔離:不同邏輯集群的CPU,內存,IO資源是隔離的;跨邏輯集群數據訪問的資源是受控的;同一邏輯集群內部還可以通過負載隊列進行作業資源管控;
權限隔離:訪問其他邏輯集群的表和數據庫對象需要授權;
邏輯集群支持彈性計算,一個邏輯集群的作業可以利用其他邏輯集群計算資源。
邏輯集群間可以異構部署,一個邏輯集群內部節點間配置應該是完全相同的,不同邏輯集群間節點配置可以不同(包括CPU、內存、IO等硬件配置,但操作系統配置需要相同)。
每個邏輯集群可以獨立擴縮容,業務遷移后不用的邏輯集群可以刪除,釋放的節點可以用于創建新的邏輯集群。
邏輯集群典型場景
多子業務拆分:將一個大業務拆分為多個子業務,每個子業務創建一個獨立邏輯集群;子業務之間資源隔離,同時也可以方便地進行跨子業務查詢。
數據加工和數據查詢作業分離:將數據加工和靈活查詢作業分開到兩個邏輯集群,數據加工結果寫入靈活查詢邏輯集群中,保證兩類作業資源隔離,且可以根據需要獨立擴容。
EI企業智能 Gauss AP 數據倉庫服務 GaussDB(DWS)
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。