網站首頁 編程語言 正文
openGauss 3.1.1是openGauss 5.0.0 release版本的Preview版本,希望廣大社區伙伴和開發者基于此版本進行場景化驗證,提前發現問題并反饋社區,社區將在LTS版本發布前進行問題修復。當前文檔說明范圍僅限企業版。
版本介紹
3.1.1與之前的版本特性功能保持兼容,主要功能如下:
繼承功能:
- 基礎功能:SQL標準語法、數據類型、表(包括臨時表、全局臨時表、外部表)、視圖、物化視圖、外鍵、索引(包括btree索引、Gin索引、hash索引)、序列、函數、觸發器、聚合函數median、ROWNUM、UPSERT、、jsonb數據類型、GB18030字符集。
- 存儲過程:存儲過程、存儲過程內commit/rollback、參數的存儲過程/函數調用省略()、存儲過程調試。
- 安全功能:認證、權限管理、網絡通信安全、數據庫審計、全密態數據庫、動態數據脫敏、國密算法、防篡改賬本數據庫、內置角色和權限管理、透明加密、ANY權限管理等。
- 高可用:主備雙機、級聯備機、邏輯復制、極致RTO、備機擴容、基于Paxos分布式一致性協議(DCF)、兩地三中心跨Region容災。
- SQL引擎增強:范圍分區、全局分區索引、LIST分區、HASH分區、基于范圍分區的自動擴展分區、行存轉向量化、自治事務、并行查詢、Global Syscache、IPv6協議、postgis插件。
- 存儲引擎增強:延遲備庫、備機支持邏輯復制、并行邏輯解碼、灰度升級、滾動升級、Hash索引、列存表主鍵唯一約束、Ustore存儲引擎、段頁式存儲、發布訂閱、行存表壓縮、MOT內存表、NUMA-aware高性能優化等。
- 備份恢復:全量物理備份、邏輯備份、備機備份、增量備份和恢復、恢復到指定時間點(PITR)。
- AI能力:參數自調優、慢SQL發現、AI查詢時間預測、數據庫指標采集預測與異常監控、DBMind自治運維平臺、智能優化器、智能索引推薦、deepSQL庫內AI算法、庫內AI算法支持XGBoost、multiclass和PCA。
- 運維能力:WDR診斷報告新增數據庫運行指標、備機慢SQL診斷視圖、unique sql自動淘汰。
- JDBC:支持JDBC客戶端負載均衡及讀寫分離。
- CM:支持CM集群管理,CM支持自定義資源管控,支持對外狀態查詢和推送能力。
- 工具鏈:開發工具DataStudio、數據遷移工具chameleon。
- 中間件:shardingSphere、openLookeng。
- 周邊生態:dblink,支持openEuler、CentOS、Ubuntu、FusionOS系統
- 其他:cmake腳本編譯、容器化部署、kubernetes
新增功能:
- 主備共享存儲
- MySQL兼容性增強
- CM部署和數據庫部署解耦,CM支持增量升級
- MOT內存表能力增強
其中,主備共享存儲特性是3.1.X版本引入的比較重要特性。下面重點介紹一下。
主備共享存儲
特性簡介
本特性提供主備機共享一份存儲的能力,實現基于磁陣設備
的主備共享存儲HA部署形態,可選通過OCK RDMA提升備機實時一致性讀能力_。_主備共享存儲架構圖如下圖所示。
圖 1 主備共享架構圖
客戶價值
解決傳統HA部署下存儲容量較單機部署翻倍的問題,減少了存儲容量,節省磁陣設備??蛇x通過OCK RDMA提升備機實時一致性讀能力。
特性描述
-共享存儲依賴兩個自研的公共組件實現主備共享存儲的能力:
- 分布式存儲服務DSS(Distributed Storage Service)
DSS是獨立進程,直接管理磁陣裸設備,并對外提供類似分布式文件系統的能力。通過共享內存和客戶端API動態庫,為數據庫提供創建文件、刪除文件、擴展和收縮文件、讀寫文件的能力。
- 分布式內存服務DMS(Distributed Memory Service)
DMS是動態庫,集成在數據庫內部,通過TCP/RDMA網絡傳輸PAGE內容,將主備內存融合,提供內存池化能力,以此實現備機實時一致性讀功能。
共享存儲通過分布式存儲服務DSS組件實現主備共享一份存儲。與傳統建庫相比,共享存儲基于磁陣建庫將目錄分為三種類型,每實例獨占且不共享、每實例獨占且共享、所有實例共享。其中需要共享的目錄均需存放到磁陣設備上,而不共享的目錄存放在本地盤上。另外備機建庫只需要建隸屬于自己的目錄,不需要再次創建所有實例共享的目錄結構。主備共享存儲新增了相關GUC參數,以及將系統表存儲方式從頁式切換到段頁式。
共享存儲通過分布式內存服務DMS組件實現主備頁面實時交換,提供備機實時一致性能力。即主機事務提交后,在備機立即能夠讀到,不存在延遲讀現象(事務隔離級別為Read-Committed)。
共享存儲通過OCK RDMA降低DMS主備頁面交換時延。TCP下的備機一致性讀進行時延對比,開啟OCK RDMA,備機一致性讀時延至少要降低20%。
特性約束
主備共享存儲方案依賴于磁陣設備,磁陣的LUN需要支持SCSI3的PR協議(包括PR OUT(“PERSISTENT RESERVE OUT”)PR IN(“PERSISTENT RESERVE IN”)和INQUIRY), 用于實現集群IO FENCE。除此之外, 還需要支持SCSI3的CAW協議(COMPARE AND WRITE),用于實現共享磁盤鎖。如Dorado 5000 V3磁陣設備。
實現的主備共享存儲HA部署形態只支持1主1備和1主2備場景,其他場景為體驗版未測試過,不承諾。
由于主備共享存儲依賴類似分布式文件系統的功能來實現備機實時一致性讀能力,因此要求文件元數據變更越少越好?;谛阅芸紤],只支持段頁式表。
只支持主備部署在同一磁陣設備上,不支持容災部署,也不支持主備混合部署(如主和備部署在不同的磁陣設備上)。
主備頁面交換通過RDMA加速,依賴CX5網卡,并且依賴OCK RDMA動態庫。
暫不支持備機重建及節點替換、節點修復等能力。
不支持從傳統HA部署升級到基于主備共享存儲部署。
共享存儲模式下gs_xlogdump_xid,gs_xlogdump_lsn,gs_xlogdump_tablepath,gs_xlogdump_parsepage_tablepath、pg_create_logical_replication_slot、gs_verify_and_tryrepair_page、gs_repair_page、gs_repair_file函數功能不支持使用。
共享存儲模式下T_CreatePublicationStmt、T_AlterPublicationStmt、T_CreateSubscriptionStmt、T_AlterSubscriptionStmt、T_DropSubscriptionStmt訂閱功能不支持使用。
共享存儲模式下不支持全局臨時表。
安裝部分對應的也新增了共享存儲場景的支持。cluster_config_template.xml配置文件模板示例:
... <!-- 共享存儲模式開關 --> <PARAM name="enable_dss" value="on"/> <!-- dss實例目錄 --> <PARAM name="dss_home" value="/opt/huawei/install/data/dss"/> <!-- dss共享卷名 --> <PARAM name="ss_dss_vg_name" value="data"/> <!-- dss掛載卷組名和卷組信息,包含共享卷 --> <PARAM name="dss_vg_info" value="data:/dev/sdb,p0:/dev/sdc,p1:/dev/sdd"/> <!-- cm投票卷 --> <PARAM name="votingDiskPath" value="/dev/sde"/> <!-- cm共享卷 --> <PARAM name="shareDiskDir" value="/dev/sdf"/> <!-- dss開啟ssl認證開關 --> <PARAM name="dss_ssl_enable" value="on"/> <!-- mes通信協議類型 --> <PARAM name="ss_interconnect_type" value="TCP"/> <!-- rdma綁定cpu序列 --> <PARAM name="ss_rdma_work_config" value="1 7"/>
歡迎有興趣和條件的同學可以對主備共享存儲特性進行場景化驗證。
原文鏈接:https://blog.csdn.net/GaussDB/article/details/129080266
- 上一篇:沒有了
- 下一篇:沒有了
相關推薦
- 2022-07-13 Android單選多選按鈕的使用方法_Android
- 2022-05-29 C#實現文字轉語音功能_C#教程
- 2022-02-25 commons-fileupload文件上傳的時候寫入圖片無數據
- 2022-10-30 淺析pytest?鉤子函數?之初始鉤子和引導鉤子_python
- 2022-08-21 golang中select語句的簡單實例_Golang
- 2022-07-06 R語言繪制條形圖及分布密度圖代碼總結_python
- 2023-12-17 eclipse中設置自動補齊代碼
- 2022-05-09 Python使用Plotly繪制常見5種動態交互式圖表_python
- 欄目分類
-
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支