MySQL之父造访腾讯云 为腾讯云数据库开源点赞
近日,技术大牛 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。)