终于有人把openGauss3.0.0分布式原理讲透了,openGauss X ShardingSphere分布式原理和部署

发布时间 2023-05-02 21:46:02作者: 摩天轮opengauss

本文为原理精讲,部署文章链接如下

https://www.cnblogs.com/opengauss/p/17364285.html

一、opengauss 的背景和行业现状

2022 年,七大 openGauss 商业版发布,是基于 openGauss3.0 推出商业发行版

目前海量数据库 Vastbase 表现最佳,一直是 TOP 1

作者认为之所以海量数据库 Vastbase 目前无法被同行超越,和各家研发实力和技术背景有关

 

众所周知,opengauss 起源于 postgresql,在此基础上做了改良

海量数据库从 postgresql 就已经开始做商业版,一直做到 opengauss,经验最丰富,其他产品例如 MongoDB 是紧随其后 (在此不讨论其存在的意义),目前产品百花齐放,更显锦上添花

 

Vastbase G100 采用业界证明稳定高效的日志流复制技术实现集群内主备库的数据和状态传输,

并通过一主多备的部署和配置架构实现了多点可读、数据不丢失、异地灾备等关键高可用场景。

 

后来openGauss又将目光转向分布式解决方案,专注于解决数据存储、超高并发吞吐、大表瓶颈等众多难题,

实现与ShardingSphere一起构建全栈开源分布式解决方案,成为openGauss的又一大突破。

 

二、分布式解决方案架构图精讲

openGauss3.0.0融合了大量的开源组件,用来构建集数据水平扩展、分布式事务及治理一体化的全栈开源分布式解决方案

2.1openGauss和ShardingSphere

shardingSphere-proxy为开源分布式解决方案,具有分库、分表、分布式事务、弹性伸缩、读写分离等众多能力;

2.2openGauss分布式架构-Kubernetes

2.3分布式组件patroni的opengauss集群

每个Patroni高可用节点支持一主多备,每个节点使用Paxos协议保证数据的一致性,各个节点可以部署在相同或不同的区域,用以保证多地多中心的数据安全。

1. 主数据库意外停止,但可以通过重启恢复,立即自动启动主数据库;

2. 主数据库意外故障,且无法启动,首先当前主机释放leader锁降备,然后自动选择一个最健康的备机,即同步情况与主机最接近的备机,提升为主机;

3. 备库意外停机,重启后可立即恢复正常并与主机连接,则立即进行重启恢复;

4. 备库意外故障,可正常启动但是启动后落后于主机状态 ,则对其进行重建操作以恢复其状态。

2.4分布式组件openGauss+HAProxy

HAProxy结合Patroni的REST API,可以始终识别数据库的主节点,保证高可用场景,同时可实现负载均衡;

2.5分布式组件openGauss+ShardingSphere+Proxy

本分布式方案运用shardingSphere-proxy强劲的分布式能力,通过kubernetes管理集群,prometheus监控集群状态,从而构建全栈开源的分布式解决方案。

三、产品优势

3.1极致扩展能力,灵活扩缩容

计算与存储能力可通过水平拆分实现线性扩展,最高可达数据6400分片,性能随扩展准线性增长,可有效解决单表数据量膨胀问题;结合业务流量,灵活平滑进行数据节点的扩缩容,智能读写分离,实现分布式数据库的自动负载均衡。

3.2丰富企业级特性

支持分布式存储过程、触发器,分布式事务,全密态数据加密,WDR诊断报告,提供丰富的企业级特性。

3.3一键部署,屏蔽底层依赖

标准化镜像确保多环境一致性交付,容器化部署,实现物理资源池化,降低对平台的依赖性,简洁高效,实现应用秒级部署。

3.4超高可用,实现异地容灾

强有力的集群管理、运维能力,支持同城、异地、多地多中心灵活部署,基于Paxos协议保证数据的安全及强一致性,提供RPO=0的多种容灾能力。

本文参考官方文档

https://docs.opengauss.org/zh/

https://docs.vastdata.com.cn/zh/