GreatSQL is a branch of Percona Server.
GreatSQL focuses on improving the performance and reliability of MGR (MySQL Group Replication), and fixing some bugs. In addition, GreatSQL also merged two Patches contributed by the Huawei Kunpeng Compute Community, respectively for OLTP and OLAP business scenarios, especially the InnoDB parallel query feature. In the TPC-H test, the performance of aggregate analytical SQL was improved by an average of 15 times, the highest increased by more than 40 times, especially suitable for SAP, financial statistics and other businesses such as periodic data summary reports.
GreatSQL can be used as an alternative to MySQL or Percona Server.
GreatSQL is completely free and compatible with MySQL or Percona Server.
In addition to improving the performance and reliability of MGR, GreatSQL also introduces features such as InnoDB transaction lock optimization and parallel query optimization, as well as numerous BUG fixes.
The main advantages of choosing GreatSQl are as follows:
- Improve the concurrent performance and stability of large transactions in MGR.
- Improve MGR's GC and flow control algorithms, and reduce the amount of data sent each time to avoid performance jitter.
- In the AFTER mode of the MGR, the problem that the node is prone to errors when joining the cluster is fixed.
- In the AFTER mode of the MGR, the principle of majority consistency is adopted to adapt to the network partition scene.
- When the MGR node crashes, the abnormal state of the node can be found faster, effectively reducing the waiting time for the switchover and abnormal state.
- Optimize the InnoDB transaction lock mechanism to effectively improve transaction concurrency performance by at least 10% in high concurrency scenarios.
- Realize the InnoDB parallel query mechanism, which greatly improves the efficiency of aggregate query. In the TPC-H test, it can be increased by more than 40 times, and the average increase is 15 times. Especially suitable for SAP, financial statistics and other businesses such as periodic data summary reports.
- Fixed multiple defects or bugs that may cause data loss, performance jitter, and extremely slow node join recovery in MGR.
jemalloc library is required, please install it first
yum -y install jemalloc jemalloc-devel
You can also add the path of the self-installed lib library so file to the system configuration file, for example:
[root@greatdb]# cat /etc/ld.so.conf
/usr/local/lib64/
Load the libjemalloc library, and confirm whether it already exists
[root@greatdb]# ldconfig
[root@greatdb]# ldconfig -p | grep libjemalloc
libjemalloc.so.1 (libc6,x86-64) => /usr/local/lib64/libjemalloc.so.1
libjemalloc.so (libc6,x86-64) => /usr/local/lib64/libjemalloc.so
For my.cnf configuration file, please refer to this sample.
Now you can start GreatSQL.
- Compile and install GreatSQL from source code under Linux
- Using Ansible to install GreatSQL and build an MGR cluster
- Deploy GreatSQL in Docker and build MGR cluster
- MGR optimization configuration reference
- InnoDB parallel query optimization reference
- Deploy MGR cluster with GreatSQL
- MySQL InnoDB Cluster+GreatSQL deployment MGR cluster
- MySQL MGR column article
- GreatSQL-Docker, run GreatSQL in Docker.
- GreatSQL-Ansible, use ansible to install GreatSQL with one click and complete the MGR cluster deployment.
Scan QR code to follow WeChat public account
mail: [email protected]