49 Star 425 Fork 67

GVP万里数据库 / GreatSQL

Create your Gitee Account
Explore and code with more than 8 million developers,Free private repositories !:)
Sign up
Clone or Download
contribute
Sync branch
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README_zh.md

关于 GreatSQL


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

GreatSQL除了提升MGR性能及可靠性,还引入InnoDB事务锁优化及并行查询优化等特性,以及众多BUG修复。

GreatSQL LOGO

下载GreatSQL


GreatSQL 8.0

GreatSQL 5.7

版本特性


GreatSQL除了提升MGR性能及可靠性,还引入InnoDB事务锁优化及并行查询优化等特性,以及众多BUG修复。 选用GreatSQl主要有以下几点优势:

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

注意事项


运行GreatSQL可能需要依赖jemalloc库(推荐5.2.1+版本),因此请先先安装上

[root@greatdb]# yum -y install jemalloc jemalloc-devel

也可以把自行安装的lib库so文件路径加到系统配置文件中,例如:

[root@greatdb]# cat /etc/ld.so.conf
/usr/local/lib64/

而后执行下面的操作加载libjemalloc库,并确认是否已存在

[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

jemalloc下载地址:https://centos.pkgs.org/8/epel-x86_64/jemalloc-5.2.1-2.el8.x86_64.rpm.html

安装GreatSQL

推荐安装GreatSQL RPM包。 戳此链接下载GreatSQL RPM包

执行下面的命令安装GreatSQL:

#首先,查找GreatSQL是否已安装
[root@greatdb]# yum search greatsql
...
No matches found.

#然后安装
[root@greatdb]# rpm -ivh greatsql-client-8.0.25-16.1.el8.x86_64.rpm greatsql-devel-8.0.25-16.1.el8.x86_64.rpm greatsql-mysql-router-8.0.25-16.1.el8.x86_64.rpm greatsql-server-8.0.25-16.1.el8.x86_64.rpm greatsql-shared-8.0.25-16.1.el8.x86_64.rpm

安装完成后,GreatSQL会自行完成初始化,可以再检查是否已加入系统服务或已启动:

[root@greatdb]# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
...
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 1137698 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 1137732 (mysqld)
   Status: "Server is operational"
    Tasks: 39 (limit: 149064)
   Memory: 336.7M
   CGroup: /system.slice/mysqld.service
           └─1137732 /usr/sbin/mysqld
...

my.cnf参考

就可以正常启动GreatSQL服务了。

版本历史


GreatSQL 8.0

GreatSQL 5.7

使用文档


专栏文章

相关资源

问题反馈


联系我们


扫码关注微信公众号

输入图片说明

About

GreatSQL is a MySQL branch originated from GreatDB expand collapse
Cancel

Releases (3)

All

GreatSQL

Contributors

All

Activities

Load More
can not load any more
C++
1
https://gitee.com/GreatSQL/GreatSQL.git
git@gitee.com:GreatSQL/GreatSQL.git
GreatSQL
GreatSQL
GreatSQL
master

Search