GreatSQL
2024-03-01 16:55:12 阿炯

GreatSQL 是源于 Percona Server 的分支版本,除了 Percona 已有的稳定可靠、高效、管理更方便等优势外,特别是进一步提升了 MGR(MySQL Group Replication)的性能及可靠性,以及众多 Bug 修复。此外,GreatSQL 还合并了由华为鲲鹏计算团队贡献的两个 Patch,分别针对 OLTP 和 OLAP 两种业务场景,尤其是 InnoDB 并行查询特性,TPC-H 测试中平均提升聚合分析型 SQL 性能 15 倍,最高提升 40 多倍,特别适用于周期性数据汇总报表之类的 SAP、财务统计等业务。


GreatSQL 可以作为 MySQL 或 Percona Server 的可选替代方案,用于线上生产环境。其完全免费并兼容 MySQL 或 Percona Server。由万里开源技术社区在运作,软件本身采用C++编写并在GPLv2协议下授权使用。

GreatSQL 除了提升 MGR 性能及可靠性,还引入 InnoDB 事务锁优化及并行查询优化等特性,以及众多 BUG 修复。选用 GreatSQl 主要有以下几点优势:
提升 MGR 模式下的大事务并发性能及稳定性
改进 MGR 的 GC 及流控算法,以及减少每次发送数据量,避免性能抖动
在 MGR 集群 AFTER 模式下,解决了节点加入集群时容易出错的问题
在 MGR 集群 AFTER 模式下,强一致性采用多数派原则,以适应网络分区的场景
当 MGR 节点崩溃时,能更快发现节点异常状态,有效减少切主和异常节点的等待时间
优化 InnoDB 事务锁机制,在高并发场景中有效提升事务并发性能至少 10% 以上
实现 InnoDB 并行查询机制,极大提升聚合查询效率,TPC-H 测试中,最高可提升 40 多倍,平均提升 15 倍。特别适用于周期性数据汇总报表之类的 SAP、财务统计等业务
修复了 MGR 模式下可能导致数据丢失、性能抖动、节点加入恢复极慢等多个缺陷或 BUG


核心特性

1.高可用
针对MGR进行了大量改进和提升工作,新增支持地理标签、仲裁节点、读写节点可绑定动态IP、快速单主模式、智能选主,并针对流控算法、事务认证队列清理算法、节点加入&退出机制、recovery机制等多项MGR底层工作机制算法进行深度优化,进一步提升优化了MGR的高可用保障及性能稳定性。

支持地理标签特性,提升多机房架构数据可靠性。
支持仲裁节点特性,用更低的服务器成本实现更高可用。
支持读写节点动态VIP特性,高可用切换更便捷。
支持快速单主模式,在单主模式下更快,性能更高。
支持智能选主特性,高可用切换选主机制更合理。
采用全新流控算法,使得事务更平稳,避免剧烈抖动。
优化了节点加入、退出时可能导致性能剧烈抖动的问题。
优化事务认证队列清理算法,高负载下不不复存在每60秒性能抖动问题。
解决了个别节点上磁盘空间爆满时导致MGR集群整体被阻塞的问题。
解决了长事务造成无法选主的问题。
修复了recovery过程中长时间等待的问题。

2.高性能
相对MySQL及Percona Server For MySQL的性能表现更稳定优异,支持高性能的内存查询加速AP引擎、InnoDB并行查询、并行LOAD DATA、事务无锁化、线程池等特性,在TPC-C测试中相对MySQL性能提升超过30%,在TPC-H测试中的性能表现是MySQL的十几倍甚至上百倍。

支持类似MySQL HeatWave的大规模并行、高性能的内存查询加速AP引擎,可将GreatSQL的数据分析性能提升几个数量级。
支持InnoDB并行查询,适用于轻量级OLAP应用场景,在TPC-H测试中平均提升15倍,最高提升40+倍。
优化InnoDB事务系统,实现了大锁拆分及无锁化等多种优化方案,OLTP场景整体性能提升约20%。
支持并行LOAD DATA,适用于频繁导入大批量数据的应用场景,性能可提升约20+倍。
支持线程池(Threadpool),降低了线程创建和销毁的代价,保证高并发下,性能稳定不会明显衰退。

3.高兼容
支持大多数常见Oracle用法,包括数据类型、函数、SQL语法、存储程序等兼容性用法。

4.高安全
支持逻辑备份加密、CLONE备份加密、审计日志入表、表空间国密加密等多个安全提升特性,进一步保障业务数据安全,更适用于金融级应用场景。

更多信息可参考其用户手册

2024年2月发布了其 TPC-H 性能测试报告


最新版本:8.0
8.0.32-25基于Percona Server for MySQL 8.0.32版本,它在其基础上做了大量的改进和提升以及众多新特性,详情请见:Percona Server for MySQL feature comparison,这其中包括线程池、审计、数据脱敏等MySQL企业版才有的特性,以及performance_schema提升、information_schema提升、性能和可扩展性提升、用户统计增强、PROCESSLIST增强、Slow log增强等大量改进和提升,这里不一一重复列出。

官方主页:https://greatsql.cn/