大數據“復活”記
2435
2025-03-31
摘要:整理GaussDB OLTP(GaussDB100)相關的基礎知識點,希望大家通過本文對高斯100有個基礎的了解。
一、GaussDB100產品簡介
GaussDB OLTP數據庫(即GaussDB100)是一款企業級的高性能、高可用、高安全分布式關系型數據庫。2002年由華為公司開始研發,2008年形成初期的穩定版本,目前支持x86和Kunpeng硬件架構;支持Sharding數據分片架構,滿足業務對數據庫水平擴展能力的要求,突破單機數據訓存儲容量和性能瓶頸,解決業務互聯網化帶來的峰值流量訪問問題。并能夠提供兩地三中心部署方案,抵抗單點故障、站點級故障支持城市級容災。
GaussDB100是對應用全透明的分布式數據庫,基于創新性數據庫內核,具備如下特征:
? 極致性能:高并發(單機百萬tpmc)、高擴展(性能線性擴展比大于0.8)
? 安全可靠:高可靠(支持雙機冷熱備份和兩地三中心多種保護方式)、高安全(支持數據閃回和回收站)
? 簡單易用:易開發(兼容SQL2003標準,支持存儲過程和多種API接口)、易運維
二、GaussDB100產品特點
下面概括性地了解一下GaussDB100的產品設計特點。
高性能
? 查詢優化:內置基于規則的優化器(RBO)和基于成本的優化器(CBO),同時構建了一系列的查詢優化特性,最大限度地提升查詢性能
? 并行查詢:多行數據處理時,可指定并行查詢,充分利用服務器CPU資源
? MVCC:以時間戳為基礎,基于undo的行級MVCC(多版本并發控制),讀寫互不阻塞,提升并發修改和并發訪問能力
? 并發控制:運用鎖、MVCC、數據庫隔離級別等并發控制機制保證數據庫高并發場景下的數據強一致性
? 共享內存區:支持將執行計劃緩存在shared_pool中,提高解析效率
? 分區技術:支持范圍、哈希、列表、間隔分區方式,支持查詢分區裁剪。
高可靠
? 閃回與回收站:閃回查詢能夠查詢用戶錯誤操作前的時刻的“歷史”數據;回收站可將drop的表對象還原,恢復表數據。
? 邏輯復制:支持邏輯復制,可實現與其它異構數據庫之間的數據同步、多個實例數據匯總到一個實例、業務在線升級、關鍵表數據變化跟蹤、備份數據分組權限控制等應用場景。
高可用
? 支持滾動升級、閃回、在線重定義功能,保證數據庫不停機、業務不中斷
? 支持全量、增量備份,同步備庫,保證數據安全
高容量
? 支持bigfile表空間
低成本
? 豐富的SQL能力、廣泛SQL語法支持,跨庫遷移成本較低
? 支持標準接口,如ODBC/JDBC,命令行工具
? 支持基于x86、鯤鵬硬件架構的主備、分布式多種部署方式
三、GaussDB100系統架構
GaussDB100采用Shared-nothing架構的分布式系統,由眾多擁有獨立且互不共享CPU、內存、存儲等系統資源的邏輯節點組成。業務數據被分散存儲在多個主機上,數據訪問任務被推送到數據所在位置就近執行,通過控制模塊的協調,并行地完成大規模的數據處理工作,實現對數據處理的快速響應。GaussDB100提供了單機、主備、分布式三種部署架構,用戶可按資源配置情況及業務系統的規模選擇性采用。
單機部署架構
? Database Manager:對集群數據庫進行安全的監控和運維操作
? Data Studio:集成開發環境,類似于pl/sql developer或MySQL Workbench
借單機部署架構,了解GaussDB100的軟件模塊組成及功能,主備和分布式架構基本類似,就不再贅述:
? CM:集群管理模塊(Cluster Manager)。管理和監控分布式系統中各個功能單元和物理資源的運行情況,確保整個系統的穩定運行
? DN:數據節點(Datanode)。負責存儲業務數據,執行數據查詢任務以及向CN返回執行結果
? ETCD:一個高可用的分布式鍵值(key-value)數據庫,負責存儲集群各個節點和實例集群狀態,便于集群CM管理各個實例
? Storage:服務器的本地存儲資源,持久化存儲數據
主備部署架構
相對單機部署架構,只多出了一個備用的數據節點,主備間基于數據庫日志復制,兩個節點保持數據同步,在單機性能可滿足需求的情況下,提供高可用支持。
分布式部署架構
從圖中可以看到,分布式部署架構同時具備高擴展和高可用的特征。
? 分布式高擴展:數據按shard劃分,讀寫負載準線性擴展,滿足大規模業務場景
? 分布式高可用:支持基于shard的主備,單shard異常也僅影響部分數據
邏輯結構層面,分布式部署架構也增加了幾個軟件模塊:
? OM:運維管理模塊(Operation Manager)提供集群日常運維、配置管理的管理接口、工具
? CN:協同調度節點(Coordinator Node)負責接收來自應用的訪問請求,并向客戶端返回執行結果;負責分解任務,并調度任務分片在各DN上并行執行。
? GTS:全局時鐘服務器(Global Time Server)用于強一致場景下,為各個節點提供邏輯時鐘,實現sharding間數據的強一致性讀
四、GaussDB100技術指標
五、GaussDB100關鍵特性
Share-nothing架構
Share-nothing架構具備如下優點:高并發大數據場景下的按需擴展、內部自動化并行處理、最優化的I/O處理、增加節點實現線性擴展。
數據分布式存儲
GaussDB 100采用水平分表的方式,將業務數據表的元組打散存儲到各個節點內。查詢中通過查詢條件過濾不必要的數據,快速定位到數據存儲位置,可極大提升數據庫性能。支持以下數據分布策略:
在CREATE TABLE時增加DISTRIBUTE BY參數指定分布策略。
數據分區
GaussDB 100數據庫支持的分區表為范圍分區表、間隔分區表、列表分區表和哈希分區表
全并行的數據查詢處理
與之前介紹Gauss200類似,分布式執行引擎,以SQL引擎生成的執行計劃為輸入,將元組按執行計劃的要求進行加工并將結果返回給客戶端。
高性能事務處理
? 事務隱式啟動,第一個可執行SQL(除登錄語句外)隱含事務的開始
? 默認非自動提交,可設置保存點
? DDL在獨立事務內運行,遇到DDL語句數據庫會自動提交前面事務
? 支持表級、行級以及關鍵字級的鎖,以控制不同粒度的數據對象的并發訪問控制
? 支持基于時間戳和回滾段的行級MVCC,實現數據查詢和修改互不阻塞,極大提升并發查詢和修改的性能
? 支持設置隔離級別,提供Read Committed、Serializable和Current Committed三種事務隔離級別
負載均衡
GaussDB100支持兩種負載均衡方式:1)使用F5 2)在JDBC中配置多個IP
高可靠事務處理
GaussDB 100提供集群事務管理功能,保證集群所有節點間事務的ACID特性,保證故障可恢復,以及恢復后滿足數據的ACID要求,并負責節點的并發控制。支持分布式死鎖預防。
閃回
支持閃回查詢和回收站功能
與君初相識,猶似故人歸。對于ORACLE DBA來說,有好多特性都是我們非常熟悉的了。萬變不離其宗,操作系統和數據庫這類基礎軟件更是如此,在后面的學習過程中,還會品讀到高斯100中更多熟悉的“故事”。
注:本文轉自“墨天輪”GaussDB頻道
分布式 數據倉庫服務 GaussDB(DWS)
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。