FOSDEM 2021 MariaDB 正在倾听

FOSDEM 2021 令人惊叹。MariaDB 设立了一个开发者房间,基金会成员还在其他几个开发者房间贡献了演讲。我们在所有这些演讲中都在倾听,无论我们的 MariaDB 基金会工作人员身处哪个房间,都在寻找改进 MariaDB 服务器的方法

在场的 MariaDB 服务器开发者提供了关于最近修复/改进的项目以及计划修复的事项的信息。

我们与在场用户社区的互动(其中许多人我们认识),为我们提供了机会,就他们希望改进的 MariaDB 的某些部分进行对话。

提及的错误报告/功能请求

仔细查看 FOSDEM 期间 MariaDB 开发者房间的聊天记录,其中包含一些MariaDB JIRA 问题(即 MDEV),这些问题对应于错误和功能请求。

好坏都有,我在此列出了所有提及的问题,以显示它们的当前状态、潜在未来状态以及发生的讨论类型。

状态:开放 (OPEN)

  • MDEV-13756 实现降序索引:KEY (a DESC, b ASC)
    Sveta 的演讲提到了这个 MariaDB 尚未实现的功能。这个问题有很多关注者。然而,对于 10.6 版本来说,这是一个太大的任务,无法完成。
  • MDEV-15706 移除 information_schema.innodb_metrics, innodb_monitor_enable, innodb_monitor_disable
    讨论提及的替代方案,并确保性能以及对相同信息的可用性。
  • MDEV-16482 MariaDB Oracle 模式缺少同义词 (Synonyms)
    我们已注意到这一点。我们正在研究如何实现此功能。
  • MDEV-17598 InnoDB 索引选项:针对每条记录的事务 ID
    InnoDB 开发者 Marko 提及此问题,以强调改进索引在 MVCC 中工作方式的需求已被理解。
  • MDEV-22923 使用 UNION SELECT 时数据截断
    这个问题被提出应予修复。我们同意。现在优先级为关键。
  • MDEV-23008 将 mysql_upgrade 版本信息存储在系统表中而非本地文件 
    旨在涵盖各种用例的设计工作已开始起步。
  • MDEV-23755 升级安全性和打包 (innodb)
    随着升级过程有了文档说明,我们正在研究实际需要什么,以及如何在打包中处理,以降低用户的要求。
  • MDEV-24557 通过 MariaDB 的 mariadb-dump 逻辑备份 MySQL 用户时生成无效命令
    正在考虑各种方法,以确保兼容性并提供从 MySQL-8.0 到 MariaDB 的迁移路径。
  • MDEV-24722 功能请求:mariabackup 缺少 –backup-and-prepare 选项
    正在考虑此请求。
  • MDEV-24723 功能请求:mariabackup 应记住文件的所有权
    正在考虑此请求。

状态:进行中 (IN PROGRESS)

  • MDEV-16589 sync_binlog 的默认值应为更安全的值 1 而非 0
    10.6 版本的关键优先级问题。

状态:审查中 (IN REVIEW)

  • MDEV-23510 运行点查询 (point-select) 时 my_strnncoll_binary 中崩溃
    ARM64(以及可能的 POWER)上的错误 – 已找到解决方案,目前正在审查解决方案。

状态:停滞 (STALLED)

  • MDEV-5171 为 mysqldump 添加对 –innodb-optimize-keys 的支持。
    MDEV-16223 类似,需要进行优化后的辅助索引加载,这可能是一个替代方案。
  • MDEV-18762 支持轻松恢复部分备份
    正在等待 10.4+ 版本的 MDEV-18543 修复导入表空间的问题。

状态:已关闭 (CLOSED)

  • MDEV-515 innodb 批量插入
    10.6 版本实现了在空表中插入数据时跳过行级 undo 日志记录的功能。在讨论逻辑备份/恢复如何改进的背景下提到了这一点。
  • MDEV-16223 后台添加索引 (ADD INDEX)
    不会修复,但考虑改进辅助索引创建是 10.7 版本的目标。
  • MDEV-20612 改进 InnoDB lock_sys 可扩展性
    该修复已在会议前提交,用于 10.6 版本发布。
  • MDEV-23399 10.5 版本在 IO 密集型 tpcc 下的性能回归
    在进行更多性能回归测试的背景下提及此问题,这是由一些 Percona 博客文章触发的。
  • MDEV-23855 InnoDB 日志检查点导致写入密集型 OLTP 性能回归
    同上。
  • MDEV-23495 完善 MariaDB 中 Arm64 PMULL 运行时检查
    提及此问题是因为 Raspberry Pi 上存在测试空白。我们仍需要填补这一空白。
  • MDEV-24122 MariaDB 10.2/10.3 的次要更新似乎在 show grants 命令中添加了一个无效的 DEFAULT ROLE。
    已修复 – 10.2.27, 10.3.28, 10.4.17, 10.5.9。修正了先前 5.7 版本 MySQL 中 mysql.user 表结构的异常。
  • MDEV-24172 innodb_table_stats 和 innodb_index_stats 的数据结构测试不正确
    已修复 – 10.2.27, 10.3.28, 10.4.17, 10.5.9
  • MDEV-24449 系统表空间或上次恢复页面损坏
    庆祝一个长期存在的难以捉摸的错误终于得到修复。
  • MDEV-24566 mysql_upgrade 在 docker 上的 mariadb 10.4/10.5 中失败,并出现错误“(‘mariadb.sys’@’localhost’) does not exist”
    这是 MariaDB Corporation 容器打包的错误,不是社区版的 MariaDB 常见错误。已在 10.4.18、10.5.9 容器版本中修复。
  • MDEV-24540 在 mysql_upgrade 期间检测是否需要 type_mysql_json.so 并加载它
    在使用 JSON 类型时,可以更容易地进行 MySQL-5.7 原地升级迁移。已在 10.5.9 版本中修复。
  • MDEV-24789 MDEV-24671 后的性能回归
    已在 10.6 版本中修复。

Valerii,他经常提及错误,在关于 mysql_upgrade 的 FOSDEM 演讲中也提到了一些开放的 MDEV 问题。其中一些已在上面纠正,但还有很多需要关注。感谢您指出这些问题。

结论

这些问题表明,在 FOSDEM 会议前几周录制演讲期间以及会议后的几周内,已关闭的错误数量相当高。

其中一些是因为我们的开发社区意识到这些错误很重要并着手修复了它们。

其他一些 MDEV 问题是由 FOSDEM 用户/演讲者强调的。正在进行工作来修复它们,或者为新功能设计适当的方案。

致谢我们的 MariaDB 服务器开发者,感谢你们在每个版本中修复问题并提供改进。如果您,亲爱的读者,想开始改进 MariaDB 代码,请尝试一下,并请务必咨询 MDEV 任务,以确保您首先提出一个可接受的设计方案。

致谢我们的用户社区,请报告错误,并关注和/或投票支持影响您现有的问题(错误和功能请求)。我们确实关心您的需求,并将努力解决最受关注的错误/功能请求。如果您能为没有可重现测试用例的错误提供一个测试用例,那将对我们有很大帮助。

最后,我还要感谢 FOSDEM 组织者及其软件开发团队为所有人转变为在线形式所做的努力。这是一项艰巨的任务,但其中许多积极方面最终都取得了很好的结果。谢谢你们。