近日,技术大牛 MariaDB 公司创始人兼 CTO Michael Widenius(又名 Monty)、MariaDB 基金会主席 Kaj 来到中国,针对 MariaDB 与腾讯云的技术合作进行回访。去年底,腾讯云与 MariaDB 基金会达成战略合作,腾讯云承诺为基金会的发展提供强有力的资源支持,共建全球开源生态圈。
这次会见,腾讯云与 MariaDB 就未来的双向合作达成一致。后续,在不涉及腾讯云核心代码的前提下,腾讯云将优先提交代码给 MariaDB 基金会, 双方共享使用权。同时,MariaDB 也将积极响应腾讯云数据库开发的相关需求,提上更新日程,为腾讯云升级迭代服务。
MariaDB 公司创始人兼 CTO Michael Widenius(左 2)、MariaDB 基金会主席 Kaj(左 1)和腾讯云技术人员现场畅谈技术和合作
Monty 被视为 MariaDB 的“技术灵魂”,在业内享有颇高声望。他是 MySQL 第一行代码的作者。在 MySQL 被甲骨文收购后,Monty 再创立 MariaDB 公司,同时成立非赢利组织 MariaDB 基金会,成为 MySQL 最重要的持续开源分支之一。
MariaDB 公司创始人兼 CTO Michael Widenius(左 2)、MariaDB 基金会主席 Kaj 现场 review 代码
现场,腾讯云专家工程师张青林向 Monty 展示了腾讯云数据库开源的最新进展。在谈到技术细节时,Monty 十分兴奋,立即找到代码进行验证,并对结果表示肯定。Monty 表示:“腾讯云数据库内核团队所做的工作正是 MariaDB 所需要的,无论是作为会员还是对于技术方面的贡献。我们非常希望由 TXSQL(腾讯自研数据库 CynosDB 的内核引擎)团队来推进 MariaDB 的内核完善工作。”双方共同敲下回车键,将最新的开源代码提交至 GitHub。
开源不遗余力
腾讯云在开源社区影响力正在持续提升。自 2017 年腾讯云正式成为 MariaDB 基金会最高级白金会员以来,深度参与基金会的各项会议与决策,不遗余力地输出腾讯在 MariaDB 数据库上的经验和技术,受到 MariaDB 社区及开发者的一致认可。
就在上个月,曼哈顿的 MariaDB 用户者大会上,腾讯云数据库团队再向 MariaDB 官方提交四个重要 Patch,包括:Binloglotate 优化、Binlog 速度限制、企业级函数加密插件、Droptable 优化。这是继去年在内存优化、InnoDB 引擎、聚合运算等层面提交多个 Patch 后,腾讯云数据库团队再次发力。
据张青林介绍,目前腾讯云数据库团队针对 MariaDB 社区的主要贡献体现在四个方面。
1、在内存优化层面,腾讯云 MySQL 内核团队针对 information_schema 多度占用内存进行深度优化。由于在涉及 Information_schema 相关操作时,会使用内存来缓存结果集,当链接数较多的时候会占用大量的内存。TXSQL 内核团队对这一问题进行了优化,对于查询结果不涉及到的字段,减少查询语句过程中所使用的内存,从而降低资源的使用率,这一改进已合进 MariaDB 10.4 版本。
2、针对内核使用过程的常见问题,MySQL 内核团队也进行了深入分析与优化,包括大表删除问题和企业级加密功能,并将这些通用功能提交给 MariaDB 官方。TXSQL 内核将要删除的大表文件加入删除文件队列,每次只减少固定的空间,当空间小到一定程度的时候再进行删除操作,从而解决了解决了大表删除引起 IO HANG,响应不及时、性能抖动等问题。整个删除过程对用户完全透明,不影响任何操作。
3、为方便用户使用加密的功能,TXSQL 有针对性的开发了一套加解密函数功能,能够有效管控明文数据的 MySQL 函数,通过基于 OpenSSL 的 RSA/DH/DSA 等加密算法进行数据保护。
4、在 Binlogrotate 优化方面,为解决 Binlogrotate 所引起的写阻塞问题,MySQL 内核团队优化写性能。日志是任何故障排除过程中非常重要的一部分,但这些日志会随着时间增长。在这种情况下,需要执行日志清理以回收空间。通过在 Linux 中配置 logrotate 程序,以自动执行日志文件的轮换、压缩、删除和用邮件发出,优化写性能。
张青林表示,后续腾讯云还将在 TXSQL 内核研发上投入更多资源,并持续贡献开源社区。
冲破“上云”障碍
不止于 MariaDB 的技术开源,腾讯云在自建数据库上的升级也为客户带来切实便利。
去年底,腾讯云发布了新一代自研云原生数据库 CynosDB。这是腾讯云在公司架构调整完成后,向外界发布的首款产品。在架构上,CynosDB 在产品架构上完全兼容开源数据库引擎接口,是国内首家兼容 MySQL5.7 和全球第一个兼容 PostgreSQL10 的云数据库产品。在世界范围内,MySQL 和 PostgreSQL 是市面上最主流的两大数据库产品。这意味着,CynosDB 所具备的兼容性,可以让企业几乎无需更改代码,就可以轻松实现“上云”。
数据库“上云”,是大数据时代潜力巨大的市场。据 Gartner 预测,到 2023 年世界上四分之三的数据库都会跑在云上,因此,云数据库也被认为是未来云竞争的重要战场。
目前,腾讯云数据库团队总共进行了近 60 多项优化。为了提升系统可用性,CynosDB 以软件优化与新硬件结合为理念,采用了先进的计算和存储分离架构,实现了计算无节点状态,支持秒级故障切换和恢复,数据备份时间缩短到 60 秒之内,速度提升了 180 倍。
值得一提的是,CynosDB 的 ” 可计算智能存储 ” 进一步满足企业的实际应用场景,让企业按实际使用量计费,自动扩缩容。在降低企业开支的同时,轻松应对突发的业务规模变化。
Kaj、王义成、Monty、张青林在 MariaDB 用户者大会现场合影
本月,在美国曼哈顿举行的 MariaDB 用户者大会上,腾讯云数据库 CynosDB 以其极致领先的性能、独特的技术架构以及众多内核层面的创新特性受到包括 MariaDB 基金会主席 Kaj、MariaDB 创始人 Monty 以及众多参会者的高度认可。
必有回响
近年来,腾讯在开源领域的投入不断加大,深度拥抱并推动全球开源生态的发展,除了 MariaDB 基金会的白金会员,截至目前,腾讯已经获得 OpenStack、Linux Foundation、LF Deep Learning、MariaDB Foundation 等国际知名开源组织的白金会员身份。此外,腾讯也是国内唯一的 Apache 白金赞助商。
创新不止,腾讯云数据库不遗余力的开源工作,将持续扩大中国开发者在开源 MariaDB 社区的贡献度与影响力。
(注:Tencent MySQL 为腾讯深度定制的 MySQL,简称 TXSQL。)