openGauss数据库共享存储特性简介
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部署下存储容量较单机部署翻倍的问题,减少了存储容量,节省磁阵设备。可选通过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"/>
欢迎有兴趣和条件的同学可以对主备共享存储特性进行场景化验证。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
ChatGPT的隐私安全问题及隐私保护技术
作者:京东科技 杨博 ChatGPT 才出现两个月,就已经引起了学术界的关注。 微软成为ChatGPT母公司OpenAI的合作伙伴,并确认投资百亿美元。同时,微软正计划将 OpenAI 的技术整合到其产品中,包括Bing搜索引擎和其他软件,以增强它们的能力。然而,据Insider报道,微软却警告其员工不要与人工智能 (AI) 聊天机器人(ChatGPT)共享敏感数据:“请不要将敏感数据发送到 OpenAI 端点,因为他们可能会用它来训练未来的模型”。 类似的,亚马逊最近也发出警告其员工提防 ChatGPT,一位亚马逊律师已敦促员工不要通过内部沟通形式与 ChatGPT 共享代码:“这很重要,因为您的输入可能会用作 ChatGPT 进一步迭代的训练数据,我们不希望它的输出包含或类似于我们的机密信息(目前我已经看到它的输出与现有机密材料非常匹配的实例)。” 随着大公司对数据隐私的担忧日益增加,OpenAI 已将有关公司数据和隐私政策的问题转至ChatGPT 的常见问题解答页面。OpenAI 的服务条款授予了该公司使用 ChatGPT 用户生成的所有输入和输出的权利,并规定从使用的数据中删除...
- 下一篇
人人看得懂的ChatGPT技术原理解析
人人看得懂的ChatGPT技术原理解析 编者按:自ChatGPT面世以来,我们在热切挖掘其丰富应用的同时,也在孜孜探求其背后的工作原理。 今天我们为大家带来的文章,深入浅出地阐释了ChatGPT背后的技术原理,没有NLP或算法经验的小伙伴,也可以轻松理解ChatGPT是如何工作的。 以下是译文,Enjoy! 作者|Molly Ruby 编译| 岳扬 这是对支撑ChatGPT工作的机器学习模型的一段简略的介绍:以大型语言模型为基础,然后深入研究使GPT-3能够被训练的自注意力机制,再从人类的反馈中进行强化学习,这就是使ChatGPT与众不同的新技术。 大型语言模型 Large Language Models ChatGPT是一种机器学习自然语言处理模型的扩展,称为大语言模型(LLMs)。LLMs能够读取学习大量文本数据,并推断文本中单词之间的关系。随着计算能力的进步,大语言模型在过去几年中得到不断发展。随着输入数据集和参数空间(parameter space)的增加,LLMs的能力也会随之增加。 语言模型最基本的训练涉及预测词单词序列中的单词。在一般情况下,这样就可以观察到next-to...
相关文章
文章评论
共有0条评论来说两句吧...