openGauss X ShardingSphere,分布式方案的另一种最佳实践
Apache ShardingSphere 持续助力于 openGauss 分布式数据库能力的构建。openGauss 数据库自 2020 年 6 月开源以来,受到了业界的广泛关注,现已吸引众多伙伴、开发者参与其中,共建繁荣的数据库生态。面对如今海量数据,超高并发等诸多场景,openGauss 将目光转向于分布式解决方案,专注于解决海量数据存储、超高并发吞吐、大表瓶颈等众多难题,与 ShardingSphere 一起构建全栈开源分布式解决方案,实现 openGauss 的又一大突破。
分布式解决方案
图1 分布式解决方案整体框图
openGauss 融合了众多开源组件,用以构建集数据水平扩展、分布式事务及治理一体化的全栈开源分布式解决方案,整体框图如图 1 所示。
其中 ShardingSphere-Proxy 为开源分布式解决方案,具有分库、分表、分布式事务、弹性伸缩、读写分离等众多能力;
HAProxy 结合 Patroni 的 REST API,可以始终识别数据库的主节点,保证高可用场景,同时可实现负载均衡;
每个 Patroni 高可用节点支持一主多备,每个节点使用 Paxos 协议保证数据的一致性,各个节点可以部署在相同或不同的区域,用以保证多地多中心的数据安全。
本分布式方案运用 ShardingSphere-Proxy 强劲的分布式能力,通过 kubernetes 管理集群,prometheus 监控集群状态,从而构建全栈开源的分布式解决方案。
产品优势
1. 极致扩展能力,灵活扩缩容
计算与存储能力可通过水平拆分实现线性扩展,最高可达数据 6400 分片,性能随扩展准线性增长,可有效解决单表数据量膨胀问题;结合业务流量,灵活平滑进行数据节点的扩缩容,智能读写分离,实现分布式数据库的自动负载均衡。
2. 丰富企业级特性
支持分布式存储过程、触发器,分布式事务,全密态数据加密,WDR 诊断报告,提供丰富的企业级特性。
3. 一键部署,屏蔽底层依赖
标准化镜像确保多环境一致性交付,容器化部署,实现物理资源池化,降低对平台的依赖性,简洁高效,实现应用秒级部署。
4. 超高可用,实现异地容灾
强有力的集群管理、运维能力,支持同城、异地、多地多中心灵活部署,基于 Paxos 协议保证数据的安全及强一致性,提供 RPO=0 的多种容灾能力。
5. 开源开放,构建全栈生态
开源 openGauss 单机及分布式解决方案,鼓励更多伙伴、开发者共同参与其中,共建数据库的繁荣生态,打造全栈开源生态链。
应用场景
1 金融系统
基于多数派共识协议 Paxos,提供分布式强一致事务能力,确保分布式环境下数据的强一致能力;多地多中心,提供 RPO=0 的能力,保障金融级可靠。
2 政企办公
提供全密态数据加密,安全可信,支持软硬件生态,保障高可用场景,为政企办公保驾护航。
3 智慧电网
支持同城、异地、多地多中心灵活部署,根据业务的潮汐特点灵活扩缩容,助力智慧电网。
* 欢迎更多技术团队与我们一同分享使用 ShardingSphere 的经验思考。
欢迎扫码关注我们

openGauss X ShardingSphere,分布式方案的另一种最佳实践的更多相关文章
- 分布式唯一ID的几种生成方案
前言 在互联网的业务系统中,涉及到各种各样的ID,如在支付系统中就会有支付ID.退款ID等.那一般生成ID都有哪些解决方案呢?特别是在复杂的分布式系统业务场景中,我们应该采用哪种适合自己的解决方案是十 ...
- 分布式全局ID的几种生成方案
前言 在互联网的业务系统中,涉及到各种各样的ID,如在支付系统中就会有支付ID.退款ID等. 那一般生成ID都有哪些解决方案呢?特别是在复杂的分布式系统业务场景中,我们应该采用哪种适合自己的解决方案是 ...
- ShardingSphere 异构迁移最佳实践:将3.5亿量级的顾客系统 RTO 减少60倍
Apache ShardingSphere 助力当当 3.5 亿用户量级顾客系统重构,由 PHP+SQL Server 技术栈无缝转型为 Java+ShardingSphere+MySQL,性能.可用 ...
- memcache的最佳实践方案
1.memcached的基本设置 1)启动Memcache的服务器端 # /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 1 ...
- 学习笔记TF061:分布式TensorFlow,分布式原理、最佳实践
分布式TensorFlow由高性能gRPC库底层技术支持.Martin Abadi.Ashish Agarwal.Paul Barham论文<TensorFlow:Large-Scale Mac ...
- 分布式 PostgreSQL 集群(Citus),分布式表中的分布列选择最佳实践
确定应用程序类型 在 Citus 集群上运行高效查询要求数据在机器之间正确分布.这因应用程序类型及其查询模式而异. 大致上有两种应用程序在 Citus 上运行良好.数据建模的第一步是确定哪些应用程序类 ...
- Web前端开发最佳实践(7):使用合理的技术方案来构建小图标
大家都对网站上使用的小图标肯定都不陌生,这些小图标作为网站内容的点缀,增加了网站的美观度,提高了用户体验,可是你有没有看过在这些网站中使用的图标都是用什么技术实现的?虽然大部分网站还是使用普通的图片实 ...
- Hyperledger Fabric 1.0 从零开始(十三)——orderer分布式方案
简述 在搭建HyperLedger Fabric环境的过程中,我们会用到一个configtx.yaml文件(可参考Hyperledger Fabric 1.0 从零开始(八)——Fabric多节点集群 ...
- 分布式ID详解(5种分布式ID生成方案)
分布式架构会涉及到分布式全局唯一ID的生成,今天我就来详解分布式全局唯一ID,以及分布式全局唯一ID的实现方案@mikechen 什么是分布式系统唯一ID 在复杂分布式系统中,往往需要对大量的数据和消 ...
随机推荐
- win7上帝模式详解
最近,Windows7"GodMode"(上帝模式)被国内各大网站和论坛炒得沸沸扬扬."GodMode"始见于国外网站"GeekInDisguise& ...
- [源码解析] 深度学习流水线并行 PipeDream(2)--- 计算分区
[源码解析] 深度学习流水线并行 PipeDream(2)--- 计算分区 目录 [源码解析] 深度学习流水线并行 PipeDream(2)--- 计算分区 0x00 摘要 0x01 前言 1.1 P ...
- 一种封装Retrofit的方法,可以自动解析Gson,回避Method return type must not include a type variable or wildcard: retrofit2.Call<T>的问题
封装目的:屏蔽底层实现,提供统一接口,并支持Gson自动转化 最初封装: //请求方法 interface RequestListener { interface PostListener { @PO ...
- JS中原型与原型链
一. 普通对象与函数对象 JavaScript 中,万物皆对象!但对象也是有区别的.分为普通对象和函数对象,Object .Function等 是 JS 自带的函数对象.下面举例说明. var o1 ...
- vue 用driver 添加用户引导
npm 安装: npm install driver.js //用户引导 import Driver from 'driver.js' import 'driver.js/dist/driver.mi ...
- Django中使用MySQL数据库的连接配置
1. 安装pymysql pip install pymysql 2. 导入 # 在与 settings.py 同级目录下的 __init__.py 中引入模块和进行配置 import pymysql ...
- Pytest系列(15)- 多重校验插件之pytest-assume的详细使用
如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 pytest中可以用pyth ...
- Java并发之Synchronized机制详解
带着问题阅读 1.Synchronized如何使用,加锁的粒度分别是什么 2.Synchronized的实现机制是什么 3.Synchronized是公平锁吗 4.Java对Synchronized做 ...
- Vue Abp vNext用户登录(Cookie)
因为Abp vNext没找到Vue的模板,网上也没找到相关vNext的例子,只能自己试着写写,asp.net core abp vue都是刚学不久,所以很粗糙也可能有错误的地方,如果您看到请指正,谢谢 ...
- vue从mock数据过渡到使用后台接口
说明: 最近在搭建一个前端使用vue-element-admin,后端使用springBoot的项目. 由于vue-element-admin使用的是mock的模拟数据跑起来的项目,所以在开发过程中难 ...