关于数据库:墨天轮访谈-叶金荣GreatSQL开源社区做中国广受欢迎的开源数据库

3次阅读

共计 2799 个字符,预计需要花费 7 分钟才能阅读完成。

分享嘉宾:叶金荣 万里数据库开源生态负责人
整顿:墨天轮社区

导读
大家好,我是来自万里数据库的叶金荣,GreatSQL 开源社区的愿景是做中国广受欢迎的开源数据库,这也是我明天分享的主题。

GreatSQL 社区

GreatSQL 开源社区 于 2021 年初成立,自成立以来取得了泛滥开发者搭档的积极响应,现已成长为国内沉闷的 MySQL 开源社区。社区致力于通过凋谢的共享单干,构 建国内自主 MySQL 版本及开源数据库技术,推动中国开源数据库及利用生态的凋敝倒退

2021 年 8 月,GreatSQL 开源数据库首个版本公布,并于同年取得“Gitee 最有价值开源我的项目”荣誉称号。


图 1 GreatSQL 社区倒退历程

GreatSQL 劣势个性

1、天文标签

首先为大家介绍 GreatSQL 天文标签的性能,这个新性能次要用于 解决多机房数据同步的问题

新增选项 group_replication_zone_id,用于标记节点天文标签。该选项值反对范畴 0 ~ 8,默认值为 0。当集群中各节点该选项值设置为不同的时候,就被认定为设置了不同的天文标签。在同城多机房部署计划中,同一个机房的节点能够设置雷同的数值,另一个机房里的节点设置另一个不同的数值,这样在事务提交时会要求每组 group_replication_zone_id 中至多有个节点确认事务,而后能力持续解决下一个事务。这就能够确保每个机房的某个节点里,总有最新的事务,从而保证数据不会失落。


图 2 GreatSQL 劣势个性:天文标签

2、仲裁节点

在 GreatSQL 8.0.25-16 版本中,新增 MGR Arbitrator 节点(仲裁节点)角色。
该节点只参加 MGR 投票仲裁,不寄存理论数据,也无需执行 DML 操作,因而能够用个别配置级别的服务器,在 保障 MGR 可靠性的同时还能升高服务器老本


图 3 GreatSQL 劣势个性:仲裁节点

3、疾速单主

第三个劣势个性 是新增疾速单主模式 ,在这个模式下,不再采纳 MySQL MGR 原有的认证数据库形式。新增选项group_replication_single_primary_fast_mode 用于设置是否启用,以及具体采纳哪种模式。
疾速单主模式特地适宜在跨机房部署,压力测试以及内存要求不低等多种场景。这种模式弱于传统的异步复制,但 强于半同步复制,且没有 MGR 默认的认证数据库可能耗费较大内存的问题


图 4 GreatSQL 劣势个性:疾速单主

4、智能选主 / 自定义选主策略

智能选主、自定义选主策略是 GreatSQL 新版本的又一劣势个性。原来的选主策略中没有判断各节点最新事务状态,可能会导致失落局部事务数据。

在 GreatSQL 中,新增选项 group_replication_primary_election_mode 用于自定义选主策略,可选值有以下几个:

  • WEIGHT_ONLY,还是依照上述传统模式主动选主,这是默认值。
  • GTID_FIRST,优先判断各节点事务利用状态,主动抉择领有最新事务的节点作为新的主节点。
  • WEIGHT_FIRST,传统模式优先,如果没有适合的后果再判断各节点事务状态。举荐设置为该模式。


图 5 GreatSQL 劣势个性:智能选主 / 自定义选主策略

5、并行查问

最初要给介绍的是 并行查问,这也是我认为最重要的一个个性。

在并行查问中,对 B + 树多个子树并行扫描后再聚合,大大晋升查问效率。在 TPC- H 测试中,最高可晋升 30 倍,均匀晋升 15 倍。并行查问的性能特地适宜汇总报表之类的 SAP、财务统计等业务。


图 6 GreatSQL 劣势个性:并行查问

下方 InnoDB 并行查问性能晋升的成果展现,晋升 3.491 倍 -32.823 倍不等。


图 7 InnoDB 并行查问性能晋升成果

对于 GreatSQL 的性能晋升与故障复原

1、性能晋升

除了以上的五个个性以外,GreatSQL 8.0.25-16 的新版本中还有哪些新性能晋升了性能呢?

  • 优化了加⼊节点时可能导致性能激烈抖动的问题
  • 解决节点异样退出集群时导致性能抖动的问题

    • MySQL 中,paxos 通信机制较为毛糙,当节点异样退出时,会造成较⻓工夫(约 20~30 秒)的性能抖动,最差时 TPS 可能有好⼏秒都降为 0
    • GreatSQL 中优化后只会产⽣约 1~3 秒的性能⼩抖动,最差时 TPS 可能只损失约 20% ~ 30%
  • 解决磁盘空间爆满时导致 MGR 集群阻塞的问题
  • 解决了⻓事务造成⽆法选主的问题
  • 欠缺 MGR 中的外键束缚机制,升高或防止从节点报错退出 MGR 的⻛险
  • 解决多主模式下或切主时可能导致丢数据的问题
  • 优化事务认证队列清理算法,躲避每 60s 抖动问题
  • 修复了 recover 过程中⻓工夫期待的问题
  • 修复了传输⼤数据可能导致逻辑判断死循环问题
  • 节点异样状态判断更欠缺

2、故障复原

  • 修复了 InnoDB 并⾏查问 crash 的问题
  • 修复了协程调度不合理可能会造成在⼤事务时零碎错误判断为⽹络谬误的问题
  • 修复了新加⼊节点在追数据时,因为超时导致连贯提前敞开的问题
  • 修复了 recovering 节点被中途停⽌导致的数据异样问题
  • 修复了将传统主从环境下产⽣的 binlog 导⼊ MGR 可能引起死循环的问题
  • 修复了多个可能导致 MGR 视图异样的问题
  • 修复了多个可能导致 MGR 异样解体的问题

在这里,我将 GreatSQL 全新的 8.0.25-16 版本与 MySQL 8.0.25 的社区版本进行比照,为大家具体介绍新版本的特点以及优化降级的内容。此次 8.0.25-16 版本更新后,GreatSQL 的性能、稳定性都失去了大幅晋升。



图 8 GreatSQL8.0.25-16 版本与 MySQL 8.0.25 社区版本比照

GreatSQL 将来瞻望

在将来,GreatSQL 开源数据库将打造更多企业级个性,探寻更适⽤于⾦融级的应⽤场景,继续优化 Paxos 机制,晋升 MGR 可靠性及性能,晋升大事务的并发性能及稳定性,以便应答更多的业务场景,为用户带来更晦涩的应用体验。



图 9 GreatSQL 将来瞻望

GreatSQL 开源社区将在万里数据库的主导和推动下,继续关注开源技术演进变革,欠缺社区能力,共建可继续倒退的、多方共赢的开源数据库产业生态,为重点行业赋能。

我明天的分享就到这里,谢谢大家!

更多精彩内容,欢送大家观看现场视频回放与会议材料
视频回放:https://www.modb.pro/video/6498
会议材料:https://www.modb.pro/doc/64404


  • 查看原文:https://www.modb.pro/db/413518
  • 查看【国产数据库沙龙】开源生态专场文章、视频回放资源:https://www.modb.pro/topic/412121

欲了解更多能够进入墨天轮社区,围绕数据人的学习成长提供一站式的全面服务,打造集新闻资讯、在线问答、流动直播、在线课程、文档阅览、资源下载、常识分享及在线运维为一体的对立平台,继续促成数据畛域的常识流传和技术创新。

关注官网公众号:墨天轮、墨天轮平台、墨天轮成长营、数据库国产化、数据库资讯

正文完
 0