近日,Apache ShardingSphere社区与openGauss社区再度展开合作, Apache ShardingSphere + openGauss的分布式解决方案,突破了单机性能瓶颈,使用16台服务器在超过1小时的测试中,得到了平均超过1000万 tpmC 的结果。

ShardingSphere + openGauss, 达成1000万tpmC

在本次测试中,openGauss社区基于标准BenchmarkSQL 5.0 工具,进行本轮 TPC-C 测试。

在单机性能方面,openGauss突破了多核CPU的瓶颈,实现两路鲲鹏128核达到150万tpmC,内存优化表(MOT)引擎达到350万 tpmC。但业务场景及用户体验对于性能的追求是无止境的,尤其在如今海量数据的场景下,追求性能极限仍然是每一款数据库的目标。

在此情况下,openGauss团队采用了7台机器运行适配了ShardingSphere-JDBC 的BenchmarkSQL测试工具,连接8台openGauss数据库,并部署了1台 ShardingSphere-Proxy用于数据初始化、一致性校验等维护操作 通过数据分片能力,ShardingSphere使总共8000仓数据(超过800GB)被分散在8台 openGauss节点。在完美Sharding的情况下进行持续超过1小时的测试后,得到了平均超过1000 万tpmC的结果,行业同等规模下性能最好。

这极大突破了openGauss现有的性能极限,突破了单机性能瓶颈,满足openGauss在海量数据场景下关于性能、可用性以及运维成本这三方面的诉求。两者的结合,正在持续挑战分布式数据库的性能极限。

ShardingSphere与openGauss的生态合作

Apache ShardingSphere社区自2021年起就开始与openGauss社区展开密切合作。

随着业务场景的细分以及数据体量的增长,将数据集中存储至单一节点的传统解决方案,已经难以在性能、可用性和运维成本等方面满足业务需求。诚然,数据分片能力能够解决单机数据库在性能、可用性以及单点备份恢复等问题,但也带来了分布式架构较高的系统复杂性。

作为Database Plus理念的提出者和实践者,Apache ShardingSphere旨在构建异构数据库上层的标准和生态,以叠加扩展数据分片、弹性伸缩、数据加密等更多计算能力为基础,站在数据库的上层视角来关注数据库之间的协作方式,以能够合理且充分地利用数据库计算与存储能力。目前,Apache ShardingSphere已经形成了微内核 & 可插拔架构模型,并在此基础上持续完善内核及功能层面的能力,为企业及开发者用户提供更多更灵活的解决方案,以满足在不同场景下的特定需求。

得益于ShardingSphere可插拔架构的设计理念,在ShardingSphere中实现对 openGauss的支持无须进行额外改造,只需要基于ShardingSphere各个模块所提供的SPI扩展点,增加对应openGauss数据库的实现。在Apache ShardingSphere 5.0.0 版本,已正式完成对openGauss数据库的支持。

双方在合作过程中,通过将openGauss强大的单机性能与Apache ShardingSphere生态所提供的分布式能力结合,打造出了适用于高并发OLTP场景的国产分布式数据库解决方案;除功能层面的合作外,ShardingSphere与 openGauss在性能方面不断磨合,充分利用openGauss内核技术的创新,不断地将ShardingSphere与 openGaus 组成的国产分布式数据库解决方案的功能与性能推向极致,此次关于TPC-C的性能测试,就是双方密切合作的一次典型案例。

使用ShardingSphere打造基于openGauss的分布式数据库解决方案

当然,Apache ShardingSphere的能力不仅有数据分片,还有读写分离、数据加密、影子库等功能,在不同的场景下各项功能既可以单独使用,也可以结合使用,用户完全可以按照自己的需求组合ShardingSphere的能力。

Apache ShardingSphere目前提供两种接入方式,分别为ShardingSphere-JDBC和ShardingSphere-Proxy。在业务中使用ShardingSphere-JDBC对数据库轻松进行分库分表以及读写分离等透明化操作,来解决其对于“高并发”、“低延迟” 场景的需求。同时在JDBC的基础上,ShardingSphere提供 Proxy端的部署模式,将数据库部分能力和操作部署在Proxy层面,让用户可以像使用原生数据库一样使用Apache ShardingSphere,为用户带来更加优质的使用体验。

因此,建议ShardingSphere-JDBC和ShardingSphere-Proxy混合部署使用,这样可以实现维护友好与性能兼顾的平衡。

在openGauss的体系中,Apache ShardingSphere能够通过水平拆分以使 openGauss的计算与存储能力实现线性扩展,性能也随着扩展准线性增长,从而有效解决单表数据量膨胀问题;此外结合业务流量,灵活平滑进行数据节点的扩缩容,智能读写分离,实现分布式数据库的自动负载均衡。

后续发展

本次Apache ShardingSphere与openGauss两个社区的合作,向外界展示了开源社区之间的合作潜力。随着应用场景的细化以及数据体量的增长,未来对于数据库性能的要求只会更高。此次合作的成功只是双方构筑数据库协作生态的一个开始,相信ShardingSphere与openGauss这种合作模式,一定会有更加广阔的发展空间。

16台服务器达成1000万tpmC!挑战分布式数据库性能极限相关推荐

  1. 万台服务器一人挑的五大挑战

    前言 SNG运营部组件运维团队主要负责SNG自研业务接入层和逻辑层的运营维护, SNG自研业务包括QQ.Qzone.看点.社交增值.企鹅电台.微云.腾讯课堂等,团队负责其中1.8万个域名.3000个业 ...

  2. 一个老程序员和他的1000万小挑战

    接触软件程序有二十几年了,将近五十岁的程序员,在中国我想是不多的,至少在我周边很少. 我本非猿,却做了二十年程序员,我本非财,却做了十年财务会计. 没做过什么轰轰烈烈的事,也没参加过什么伟大的项目,甚 ...

  3. realme达成 1000万销量:中国品牌不骗中国人?

    一个新晋的手机巨头正在完成蜕变. 11月9日,成立仅3年的手机品牌realme宣布,今年国内市场1000万销量,完成今年1月定下的"小目标".这样的战果,标志着realme已经从& ...

  4. 流量和延迟减半!挑战分布式数据库 TiDB 跨数据中心难题

    众所周知,在对可用性要求极高的行业领域(比如金融.通信),分布式数据库需要跨地域的在多个数据中心之间建立容灾以及多活的系统架构,同时需要保持数据完整可用.但这种方式同时也带来了一些问题: 跨地域的网络 ...

  5. 从新手到架构师,一篇就够:从100到1000万高并发的架构演进之路

    1.引言 本文以设计淘宝网的后台架构为例,介绍从一百个并发到千万级并发情况下服务端的架构的14次演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知.文章最后汇总了一些 ...

  6. 1000并发 MySQL数据库_再送一波干货,测试2000线程并发下同时查询1000万条数据库表及索引优化...

    继上篇文章<绝对干货,教你4分钟插入1000万条数据到mysql数据库表,快快进来>发布后在博客园首页展示得到了挺多的阅读量,我这篇文章就是对上篇文章的千万级数据库表在高并发访问下如何进行 ...

  7. 再送一波干货,测试2000线程并发下同时查询1000万条数据库表及索引优化

    原文:再送一波干货,测试2000线程并发下同时查询1000万条数据库表及索引优化 继上篇文章<绝对干货,教你4分钟插入1000万条数据到mysql数据库表,快快进来>发布后在博客园首页展示 ...

  8. 40万奖金 | 阿里云天池第三届数据库性能大赛,广邀英才挑战创新上云

    简介:日前,"第三届数据库大赛--创新上云性能挑战赛"在阿里云天池官网正式开赛.据悉,本次大赛由阿里云.英特尔联袂主办,聚焦数据库核心技术场景,探索新介质极致性能,挑战海量数据高效 ...

  9. nginx负载均衡两台服务器文件,Nginx之负载均衡 :两台服务器均衡(填坑)

    第一步,两台服务器都要安装好Nginx和Tomcat,我这边的安装的是Nginx 1.16.1 Tomcat9: 第二步,安装完成之后,选择你要做均衡的那台服务器,,打开其Nginx 配置文件,在se ...

  10. 服务器无法执行该事务_分布式事务、MVCC、事务隔离级别

    我们都知道,OceanBase 是一个分布式数据库,数据是打散到多台服务器上的,当一个分布式事务要执行的时候,可能需要跨越多台 OB Server,如果在执行过程中遇到各种各样的异常情况,OceanB ...

最新文章

  1. Zend Studio 默认模板和输入代码提示时间的修改方式
  2. 软考-信息系统项目管理师-项目集管理
  3. php的主要架构,php运行原理与基本结构
  4. Linux运维工程师必学必备的8项IT技能
  5. 浅析负载均衡的6种算法,Ngnix的5种算法
  6. TinkPHP内核仿每推推51领啦试客系统源码
  7. 基于JAVA+SpringMVC+MYSQL的社区交友平台
  8. Open3d之点云可视化
  9. bzoj 1064: [Noi2008]假面舞会(DFS)
  10. storm32云台说明书_STorM32 BGC三轴增稳云台驱动下载
  11. 鼠标宏设置到鼠标左键,重置回去!
  12. 关于F类最基础的ADS仿真
  13. 中望3D 智能门锁建模
  14. 电脑技巧 ADSL如何远程盗号
  15. 提醒后来人:钉钉里面的钉盘一定不要用,坑
  16. 从键盘输入一个字符串a,并在串a中的最大元素后面插入字符串b(b[]=“ab”),输出字符串a。
  17. 法兰克服务器电源维修,FANUC电源模块故障维修
  18. 【网络安全】练习与复习十二
  19. 48本实体书包邮免费送!
  20. 目标检测算法YOLO-V1算法详解

热门文章

  1. P2P文件快传测试用例
  2. 常用ADSS光缆的代表结构和主要参数介绍
  3. oracle 12c的PDB数据库未打开
  4. 【粉丝福利,免费送书】SQL编程思想
  5. Oracle-数据库的备份与恢复
  6. Android 程序随开机自动运行
  7. 从总线式以太网到SDN交换机OpenVSwitch
  8. jzxx1105 【入门】字符图形4-星号正三角
  9. 英语音标音节与自然拼读总结
  10. 浅谈从一维空间到十一维空间