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 单机及分布式解决方案,鼓励更多伙伴、开发者共同参与其中,共建数据库的繁荣生态,打造全栈开源生态链。

应用场景

金融系统

基于多数派共识协议 Paxos,提供分布式强一致事务能力,确保分布式环境下数据的强一致能力;多地多中心,提供 RPO=0 的能力,保障金融级可靠。

政企办公

提供全密态数据加密,安全可信,支持软硬件生态,保障高可用场景,为政企办公保驾护航。

智慧电网

支持同城、异地、多地多中心灵活部署,根据业务的潮汐特点灵活扩缩容,助力智慧电网。

* 欢迎更多技术团队与我们一同分享使用 ShardingSphere 的经验思考。

欢迎扫码关注我们

openGauss X ShardingSphere,分布式方案的另一种最佳实践的更多相关文章

  1. 分布式唯一ID的几种生成方案

    前言 在互联网的业务系统中,涉及到各种各样的ID,如在支付系统中就会有支付ID.退款ID等.那一般生成ID都有哪些解决方案呢?特别是在复杂的分布式系统业务场景中,我们应该采用哪种适合自己的解决方案是十 ...

  2. 分布式全局ID的几种生成方案

    前言 在互联网的业务系统中,涉及到各种各样的ID,如在支付系统中就会有支付ID.退款ID等. 那一般生成ID都有哪些解决方案呢?特别是在复杂的分布式系统业务场景中,我们应该采用哪种适合自己的解决方案是 ...

  3. ShardingSphere 异构迁移最佳实践:将3.5亿量级的顾客系统 RTO 减少60倍

    Apache ShardingSphere 助力当当 3.5 亿用户量级顾客系统重构,由 PHP+SQL Server 技术栈无缝转型为 Java+ShardingSphere+MySQL,性能.可用 ...

  4. memcache的最佳实践方案

    1.memcached的基本设置 1)启动Memcache的服务器端 # /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 1 ...

  5. 学习笔记TF061:分布式TensorFlow,分布式原理、最佳实践

    分布式TensorFlow由高性能gRPC库底层技术支持.Martin Abadi.Ashish Agarwal.Paul Barham论文<TensorFlow:Large-Scale Mac ...

  6. 分布式 PostgreSQL 集群(Citus),分布式表中的分布列选择最佳实践

    确定应用程序类型 在 Citus 集群上运行高效查询要求数据在机器之间正确分布.这因应用程序类型及其查询模式而异. 大致上有两种应用程序在 Citus 上运行良好.数据建模的第一步是确定哪些应用程序类 ...

  7. Web前端开发最佳实践(7):使用合理的技术方案来构建小图标

    大家都对网站上使用的小图标肯定都不陌生,这些小图标作为网站内容的点缀,增加了网站的美观度,提高了用户体验,可是你有没有看过在这些网站中使用的图标都是用什么技术实现的?虽然大部分网站还是使用普通的图片实 ...

  8. Hyperledger Fabric 1.0 从零开始(十三)——orderer分布式方案

    简述 在搭建HyperLedger Fabric环境的过程中,我们会用到一个configtx.yaml文件(可参考Hyperledger Fabric 1.0 从零开始(八)——Fabric多节点集群 ...

  9. 分布式ID详解(5种分布式ID生成方案)

    分布式架构会涉及到分布式全局唯一ID的生成,今天我就来详解分布式全局唯一ID,以及分布式全局唯一ID的实现方案@mikechen 什么是分布式系统唯一ID 在复杂分布式系统中,往往需要对大量的数据和消 ...

随机推荐

  1. 用vue的抽象组件来做一个防止img标签url为空或url地址出错的验证

    看了网上文章学习了下vue的抽象组件,感觉就跟react的高阶组件一样的使用场景,只是更加面向vue的底层编程 ,网上介绍的抽象组件一般有2种用法,1 用来加防抖和节流 2 用来控制按钮是否允许点击做 ...

  2. RabbitMq四种模式介绍和授权

    rabbitmqctl change_password admin admin123 修改admin密码 界面管理和授权操作 1新增用户 rabbitmqctl add_user admin amin ...

  3. Qt之类反射机制

    在java语言中,可以使用getObject(String)函数,从类型直接构建新的对象. 而在C++中是没有这种机制的,Qt虽然提供了元对象机制,但只可以获取对象的类名,不能反向构建. 所以搜索一下 ...

  4. Mybatis源码解析4——SqlSession

    上一篇文章中,我们介绍了 SqlSessionFactory 的创建过程,忘记了的,可以回顾一下,或者看下下面这张图也行. 接下来,可乐讲给大家介绍 Mybatis 中另一个重量级嘉宾--SqlSes ...

  5. Linux的LCD驱动分析及移植

    测试平台 宿主机平台:Ubuntu 12.04.4 LTS 目标机:Easy-ARM IMX283 目标机内核:Linux 2.6.35.3 LCD驱动分析 LCD屏的驱动总体上分成两块,一块是GUI ...

  6. 学习Tomcat(二)之容器概览

    Tomcat容器的Server模块有管理容器的启动和关闭.管理了容器内的服务组件Service.管理了全局JNDI资源的功能,对Tomcat容器的生命周期管理有重要意义.Tomcat的服务组件则是To ...

  7. Java实现发送邮件,图片,附件

    参照地址 1.JavaMail 介绍 JavaMail 是sun公司(现以被甲骨文收购)为方便Java开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发包,它支持一些常用的邮件协议,如前面 ...

  8. [转]SpringBoot系列——花里胡哨的banner.txt

    Creating ASCII Text Banners from the Linux Command Line In Ubuntu, Debian, Linux Mint etc. $ sudo ap ...

  9. java.net.NoRouteToHostException: 无法指定被请求的地址

    今天压力测试时, 刚开始出现了很多异常, 都是 java.net.NoRouteToHostException: Cannot assign requested address.  经网上查资料, 是 ...

  10. umi request 请求资源库详解

    umi-request: 网络请求库,基于fetch封装,兼具fetch 和 axios 的所有特点,具有缓存,超时,字符编码处理,错误处理等常用功能. 1 支持url 参数自动序列化. 2 post ...