mysql特性举例_InnoSQL 8.0.19特性系列 - 来源于Percona的特性(如MyRocks等)

本文是InnoSQL 8.0版本特性系列的第三篇,第一篇介绍了我们在开发8.0新版本时加入的4个重要特性,第二篇介绍了我们在MGR上做的增强。前两篇链接如下:

温正湖:InnoSQL 8.0.19(MySQL分支)特性系列 - 新特性​zhuanlan.zhihu.com
温正湖:InnoSQL 8.0.19(MySQL分支)特性系列 - MGR增强​zhuanlan.zhihu.com

本篇继续带来更多特性,主要包括MyRocks、SQL审计、线程池和连接超时管理等。之所以放在一起介绍的原因是这些特性的共同来源都是Percona的MySQL分支。InnoSQL版本在上游分支的基础上做了增强,其中对MyRocks优化最多,目前其在公司内部的使用也最为广泛,包括云音乐、传媒等业务场景。

一、MyRocks存储引擎

InnoSQL在5.7.20版本就支持了MyRocks。在8.0开发过程中,重新合入了Percona 8.0.18版本的MyRocks引擎,提供更丰富功能和更强大性能。这样做的好处是:

  • 有助于减少与MySQL 8.0的适配/兼容工作量,无需再逐一识别和适配MySQL 8.0新增的特性以及在API等层面的改动;
  • 相比5.7,Percona 8.0的MyRocks版本修复了不少bug,更加稳定。修复的bug中有部分就是InnoSQL 5.7在适配和使用过程中发现的问题;
  • rocksdb版本升级:从5.8升级到5.17。kv引擎的功能、性能和稳定性大幅提升;

不过开源的东西,往往没法直接拿来线上使用,我们在此基础上还是做了不少优化和bugfix。下面举例说明。

功能增强

  • 完善MyRocks引擎XA事务功能:实现crash-safe、MyRocks XA事务复制、InnoDB+MyRocks混合XA事务复制;
  • MyRocks引擎支持原生分区表(native partition);
  • MyRocks统计指标增强:rocksdb_cfstats表增加NUM_IMMUTABLE_MEM_TABLE_FLUSHED、 COLUMN_FAMILY_ALL_MEM_TABLES等统计;

bugfix

  • 解决主库XA Prepare成功后在session退出时被rollback问题;
  • 解决从库xa prepare后shutdown实例再重启复制报错问题;
  • 解决回放XA Prepare时由于未释放gtid_executed等InnoDB系统表事务对象trx_t导致内存泄露问题;

配套工具优化

  • 优化xtrabackup 8.0.6 工具:提供MyRocks表备份恢复支持等;
  • 优化DDL工具 - gh-ost:提升MyRocks表DDL操作的性能,降低新旧表切换流程对业务影响;

二、SQL审计模块(audit_log)

迁移了Percona 8.0.18审计模块所有功能,并做了如下增强:

增加多个QUERY类型日志记录的字段

包括执行时间、归一化SQL、扫描和影响的行数等;

优化审计日志刷盘机制

用于降低刷盘对MySQL性能影响。新增audit_log_fsync_size参数,支持多种刷盘方法,可通过OS后台刷脏,也可以设置缓存阈值刷脏。

新增基于表名过滤审计日志功能

提供更细粒度的过滤能力。通过参数audit_log_include_tables / audit_log_exclude_tables设置,默认NULL;

新增设置审计日志记录时间戳类型

通过参数audit_log_timestamps设置,默认UTC,可设置UTC或SYSTEM;

三、其他特性

除了上面2个特性,InnoSQL 8.0还迁移了Percona线程池和事务超时控制功能。 简介如下:

线程池

  • 优化Threadpool_idle_threads统计值计算方法;
  • 新增Threadpool_active_threads和Threadpool_waiting_threads统计参数;

事务超时控制

  • 新增idle事务超时退出的session级参数,trx_idle_timeout,trx_readonly_idle_timeout,trx_write_idle_timeout。

最后,还是日常安利下网易数帆旗下网易轻舟的MGR on K8S产品。其所使用的InnoSQL内核版本已在考拉海购业务场景大规模集群下充分验证,性能和稳定性有保证。

0dee558b6ec984801f2016458aaea3df.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值