直播 | GreatSQL社区受邀ITPUB开源小秀场 探索开源数据库实践之路
2022.10.14中国工程院院士倪光南在2022开放原子全球开源峰会上曾表示:开源是开放科学的核心精神在信息领域的体现,并已成为全球信息技术发展的强大推动力。实践表明,开源具有强大的生命力,特别是基础软件、人工智能、云计算等新一代信息技术领域中,开源代码占据70%-80%。未来,开源将成为数据库领域发展的重要驱动力。
其实,除了开源项目本身,越来越多开发者也开始关注技术生态的“外延”,结合当下的各类业务场景打磨企业适用的技术架构。在此背景下,技术软件如何让更多用户“轻松上手”、“简单应用”就显得更加重要。
10月14日,由IT168旗下ITPUB技术社区主办的“开源小秀场第五期”线上沙龙活动如期举办。GreatSQL社区开源贡献者王斌应邀发表主题演讲,与sealos 、Apache ShenYu 等众多开源项目负责人和技术专家同台论道,探讨如何打造卓越、可持续的开源项目和生态,分享优秀的开源项目实践经验等开源知识干货。
王斌作为GreatSQL社区开源项目贡献者,在本次沙龙活动的主题演讲环节,从纯技术角度阐述,开源数据库如何实现性能、高并发和高可用的解决方案。同时,王斌着重介绍了国内自主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社区和更多的中国数据库企业积极拥抱开源,加入开源生态,培育更多优秀开源项目,借助开源的力量打造优秀的数据库产品,为中国的数字经济发展和全人类的信息技术进步持续做出贡献。