GreatSQL社区

搜索

GreatSQL社区受邀ITPUB开源小秀场 探索开源数据库实践之路

全球 | 线上 | 2022-10-14
admin 0 348 预计人数:0 已报名人数:0

10月14日,由IT168旗下ITPUB技术社区主办的“开源小秀场第五期”线上沙龙活动如期举办。GreatSQL社区开源贡献者王斌应邀发表《基于MySQL 8.0实现分布式数据库,会有哪些坑?》主题演讲,与sealos 、Apache ShenYu 等众多开源项目负责人和技术专家同台论道,探讨如何打造卓越、可持续的开源项目和生态,分享优秀的开源项目实践经验等开源知识干货。

王斌作为GreatSQL社区开源项目贡献者,在本次沙龙活动的主题演讲环节,从纯技术角度阐述,基于MySQL8.0实现分布式数据库会遇到哪些方面问题,具体讲解了MySQL8.0在分布式处理、执行计划、隔离级别实现、性能、高并发和高可用方面的缺陷,以及应对这些问题的解决方案。同时,王斌着重介绍了国内自主MySQL分支——GreatSQL开源数据库的技术特点及优势特性。

GreatSQL开源数据库是适用于金融级应用的国内自主MySQL版本,专注于提升MGR可靠性及性能,支持InnoDB并行查询等特性,可以作为MySQL或Percona Server的可选替换,用于线上生产环境,且完全免费并兼容MySQL或Percona Server。GreatSQL除了提升MGR性能及可靠性,还引入了InnoDB事务锁优化及并行查询优化等特性,以及众多Bug修复。


国内自主MySQL分支——GreatSQL,五大优势特性让数据库更流畅、更易用

地理标签

GreatSQL 地理标签主要用于解决多机房数据同步的问题。新增选项 group_replication_zone_id用于标记节点地理标签。该选项值支持范围 0 ~ 8,默认值为0。当集群中各节点的该选项值设置为不同时,就被认定为设置了不同的地理标签。同城多机房部署方案中,同一机房的节点可以设置相同数值,另一机房的节点设置另一不同数值。这样一来,在事务提交时就会要求每组group_replication_zone_id
中至少有个节点需要确认事务才能继续处理下一事务,以此确保每个机房的某个节点里总有最新事务,保障数据不丢失。

仲裁节点

在GreatSQL 最新版本中,新增MGR Arbitrator节点(仲裁节点)角色。该节点只参与MGR投票仲裁,不存放实际数据,也无需执行DML操作,因此,可使用一般配置级别的服务器,在保证MGR可靠性的同时还能降低服务器成本。

快速单主

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

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

智能选主、自定义选主策略是GreatSQL 新版本的又一优势特性。原来的选主策略中没有判断各节点最新事务状态,可能会导致丢失部分事务数据。
在GreatSQL中,新增选group_replication_primary_election_mode
用于自定义选主策略,可选值有以下几个:

  • WEIGHT_ONLY,按照上述传统模式自动选主,此为默认值;
  • GTID_FIRST,优先判断各节点事务应用状态,自动选择拥有最新事务的节点作为新的主节点;
  • WEIGHT_FIRST,传统模式优先,如果没有合适的结果再判断各节点事务状态,推荐设置为该模式。

InnoDB并行查询

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


当前,正值中国开源经济蓬勃发展之期,开源产业为技术爱好者、贡献者、应用者们创造出了广阔的发展空间。万里数据库自2021年主导成立GreatSQL开源社区,将自身成熟的数据库技术开源,致力于通过开放的社区合作,构建国内自主MySQL版本及开源数据库技术,并期待携手ITPUB社区和更多的中国数据库企业积极拥抱开源,加入开源生态,培育更多优秀开源项目,借助开源的力量打造优秀的数据库产品,为中国的数字经济发展和全人类的信息技术进步持续做出贡献。

合作电话:010-64087828

社区邮箱:greatsql@greatdb.com

社区公众号
社区小助手
QQ群
GMT+8, 2024-11-23 17:54 , Processed in 0.009671 second(s), 3 queries , Redis On.
返回顶部