12月12日消息,据悉,腾讯云日前与MariaDB基金会正式签署战略合作协议,2019年,腾讯云将继续以白金会员身份为基金会的发展提供强有力的资源支持,与MariaDB全球用户和开发者一道,共建开放共赢的全球开源生态圈。
MariaDB基金会CEO Arjen Lentz表示:“一年以来,腾讯云为MariaDB内核功能完善做出了突出贡献,腾讯云数据库对TXSQL的现有修改将持续贡献给MariaDB代码库。腾讯云在数据库领域的深厚积累,将推动MariaDB构建持续创新的开源生态。和腾讯云的持续合作,将帮助MariaDB成为开源数据库领域的典范。”
腾讯云自去年成为该基金会白金会员以来,深度参与基金会的各项会议与决策。同时,腾讯云数据库内核团队持续输出腾讯在MariaDB数据库上的经验和技术,推动MariaDB的版本迭代和功能更新。
在内存优化层面,MySQL在涉及到 Information_schema 相关操作的时候,会使用内存来缓存结果集。当链接数较多的时候会占用大量的内存。腾讯云TXSQL内核对这一问题进行了优化,对于查询结果不涉及到的字段,减少查询语句过程中所使用的内存,从而降低资源的使用率,这一改进已合进 MariaDB 10.4 版本。
在 InnoDB 引擎层面,在Oracle MySQL 的版本当中,当读写并发量较大时,事务系统中的读写链表操作较耗时,占用事务锁的时间较长,导致事务锁成为瓶颈,CPU资源不能得到充分利用,TXSQL 在 MariaDB 改进的基础上做了进一步的优化,使系统吞吐量较 Oracle MySQL 版本提升了 20%。
在聚合运算层面,腾讯云和MariaDB开发团队沟通充分沟通的基础上,TXSQL 内核对聚合运算也做了特别的优化,极大的提升了数据库的查询性能。如 sum 聚合,在数据量为100万的条件下达到7倍左右的性能提升。目前这个功能正在测试,完善后会提交给 MariaDB。
除此之外,TXSQL 内核在使用过程中就遇到的问题和用户需要的功能也做了深入的分析,同时将通用的功能提交给 MariaDB 官方,比如大表删除问题和企业级加密功能。TXSQL内核将要删除的文件加入删除文件队列,每次只减少固定的空间,当空间小到一定程度的时候再进行删除操作,从而解决了响应不及时,性能抖动等问题。整个删除过程对用户完全透明,不影响任何操作。
为了方便用户使用加密的功能,TXSQL有针对性的开发了一套加解密函数功能,能够有效管控明文数据的MySQL函数,通过基于openSSL的RSA/DH/DSA等加密算法进行数据保护。后续,腾讯云还将在TXSQL内核研发上投入更多资源,并持续贡献开源社区。
近年来,腾讯在开源领域的投入不断加大,深度拥抱并推动全球开源生态的发展,除了MariaDB基金会的白金会员,截至目前,腾讯已经获得OpenStack、Linux Foundation、LF Deep Learing、MariaDB Foundation等国际知名开源组织的白金会员身份,另外,也是国内唯一的Apache白金赞助商。
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。MariaDB基于事务的Maria存储引擎,替换了MySQL的MyISAM存储引擎,它使用了Percona的 XtraDB,InnoDB的变体,分支的开发者希望提供访问即将到来的MySQL 5.4 InnoDB性能。这个版本还包括了 PrimeBase XT (PBXT) 和 FederatedX存储引擎。