§ FAQ - GreatSQL相关


§ 1. GreatSQL简介

GreatSQL数据库是一款开源免费数据库,可在普通硬件上满足金融级应用场景,具有高可用高性能高兼容高安全等特性,可作为MySQL或Percona Server for MySQL的理想可选替换。

GreatSQL社区官网:https://greatsql.cn (opens new window)

§ 2. GreatSQL的特色有哪些

GreatSQL数据库是一款开源免费数据库,可在普通硬件上满足金融级应用场景,具有高可用高性能高兼容高安全等特性,可作为MySQL或Percona Server for MySQL的理想可选替换。

GreatSQL主要有以下几个核心特性。

§ 高可用

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

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

更多信息详见文档:高可用

§ 高性能

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

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

更多信息详见文档:高性能

§ 高兼容

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

更多信息详见文档:高兼容

§ 高安全

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

更多信息详见文档:高安全

更多关于GreatSQL的优势特性详见:GreatSQL优势特性

§ 3. GreatSQL在哪里可以下载

§ 3.1 二进制包、RPM包

二进制包下载地址:https://gitee.com/GreatSQL/GreatSQL/releases (opens new window)

GreatSQL至少提供CentOS 7、CentOS 8两种操作系统,以及X86和ARM两种不同架构下的二进制包、RPM包。

除此外,GreatSQL还提供适用于国产化操作系统的二进制包或RPM包。

§ 3.2 源码

可以直接用git clone的方式下载GreatSQL源码,例如:

# 可从gitee下载
$ git clone https://gitee.com/GreatSQL/GreatSQL.git

# 或从github下载
$ git clone https://github.com/GreatSQL/GreatSQL.git
1
2
3
4
5

§ 3.3 Docker镜像

GreatSQL提供Docker镜像,可直接从docker hub拉取:

# 直接下载最新版本
$ docker pull docker.io/greatsql/greatsql

# 或自行指定版本号
$ docker pull docker.io/greatsql/greatsql:8.0.32-25
1
2
3
4
5

§ 3.4 Ansible安装包

GreatSQL提供Ansible一键安装包,可在gitee或github下载:

  • https://gitee.com/GreatSQL/GreatSQL-Ansible/releases
  • https://github.com/GreatSQL/GreatSQL-Ansible/releases

从GreatSQL 8.0.32-25版本开始,GreatSQL Ansible暂停更新,如果您需要通过Ansible安装GreatSQL,可以采用芬达老师提供的dbops,详见:dbops (opens new window)

§ 4. 使用GreatSQL遇到问题时找谁

使用GreatSQL过程中如果遇到问题,可将问题细节整理清楚后,发布到GreatSQL社区论坛上,论坛地址:https://greatsql.cn/forum.php (opens new window)

也可以联系GreatSQL社区寻求帮助。

扫码添加GreatSQL社区助手:
-扫码添加GreatSQL社区助手

或扫码加入GreatSQL社区QQ群(533341697):
-或扫码加入GreatSQL社区QQ群533341697

您也可以先自行查阅GreatSQL用户手册,手册地址:https://greatsql.cn/docs/ (opens new window)

我们也发布了大量配套视频资源,视频观看地址:视频资料 (opens new window)

§ 5. GreatSQL相关资源有哪些

一、文档 目前GreatSQL相关文档全部发布在gitee上(https://gitee.com/GreatSQL/GreatSQL-Doc/ (opens new window)),主要有以下几部分

  1. GreatSQL历史版本
  1. 《深入浅出MGR》系列
  1. 《GreatSQL用户手册》

二、视频

  1. 《实战MGR》
  1. 《深入浅出MGR》
  1. 《零基础学习MySQL》
  1. 《GreatSQL GCA课程》
  1. 《GreatSQL GCP课程》
  1. GreatSQL新版本发布会
  1. 其他公开分享

您学习完上述课程后,还可以报名参加GreatSQL GCA或GCP认证考试,详见:GreatSQL GCA/GCP培训认证

§ 6. GreatSQL版本计划是怎样的

GreatSQL和MySQL一样,采用GPLv2协议 (opens new window)

GreatSQL版本号采用点分位命名规则(X.Y.Z-R)模式,其中

  • X表示大版本号:MYSQL_VERSION_MAJOR,例如3.x、4.x、5.x、8.x等
  • Y表示小版本号:MYSQL_VERSION_MINOR,例如3.23.x、4.0.x、4.1.x、5.0.x、5.1.x、5.5.x、5.6.x、5.7.x、8.0.x等
  • Z表示补丁版本:MYSQL_VERSION_PATCH,例如3.23.58、4.0.30、4.1.25、5.0.96、5.1.73、5.5.62、5.6.51、5.7.37、8.0.29等
  • R表示修订版本:MYSQL_VERSION_REVISION,例如5.7.36-39、8.0.25-16、8.0.32-25等
  • GreatSQL版本号与Percona Server for MySQL/Oracle MySQL版本号对应。

正常情况下,GreatSQL每年会发布两次版本,一般是上半年、下半年各发布一个新版本。

§ 7. 我可以免费使用GreatSQL吗

是的。

在遵循GPLv2协议 (opens new window)的基础上,您可以完全免费使用GreatSQL。

如果您需要商业服务支持,也可以扫描页面下方二维码联系我们。

§ 8. GreatSQL具有XC资质吗

GreatSQL数据库是一款开源免费数据库,没有XC资质。如果您需要有XC资质的数据库产品,可以扫描页面下方二维码联系我们。

§ 9. 为什么在 openEuler 系统中安装 GreatSQL 时提示 compat-openssl-devel 冲突

为什么在 openEuler 系统中用 yum/dnf 安装 greatsql 时会提示类似下面的错误:

$ dnf install greatsql-server
...
Error:
 Problem: problem with installed package openssl-devel-1:3.0.12-4.oe2403.x86_64
  - package compat-openssl11-devel-1:1.1.1m-10.oe2403.x86_64 from everything conflicts with openssl-devel provided by openssl-devel-1:3.0.12-4.oe2403.x86_64 from @System
...
1
2
3
4
5
6

这是因为 GreatSQL 在 openEuler 中安装时需要依赖 compat-openssl-devel 包,而这个包和系统默认的 openssl 包产生冲突了,因此会有上述报错。可以在安装时加上 --allowerasing 参数,这时就会自动解决冲突问题,安装 compat-openssl-devel 以替换 openssl-devel 包:

$ dnf install -y --allowerasing greatsql-server
...
Removing dependent packages:
 openssl-devel                                    x86_64                          1:3.0.12-4.oe2403                             @OS                                  14 M
...
1
2
3
4
5

这个问题从 8.0.32-26 版本开始会得到解决。

greatsql-wx