2020年7月8日,腾讯云正式发布了腾讯云MySQL 8.0。MySQL 8.0版本是一个里程碑式的版本,官方版本大幅度的提高了性能和可用性。而腾讯云基于官方版本发布的腾讯云MySQL 8.0版本,更是在官方版本之上,进一步优化,大幅度提高性能。
这一版本的发布,将为电商、游戏、金融等行业带来更简化的业务开发模式、更安全的数据库管理服务、更丰富的应用场景,进一步加速客户产业升级。
和之前的版本相比较,MySQL 8.0版大幅度提高了性能和可用性。在功能上,MySQL 8.0引入了窗口函数的支持,窗口函数提供了非常丰富的功能,方便用户制作各种复杂的报表和统计查询,可谓是MySQL从OLTP数据库向HTAP数据库进化,大幅提升可用性的标志。
另外一个比较重要的特点是MySQL 8.0终于把元数据管理统一到InnoDB里,从而让DDL操作原子化,这对于MySQL的可用性是很重要的提高。除此之外,MySQL还提供了快速加列功能,可以做到秒级完成对大表的快速加列。
JSON数据是云计算时代最重要的数据格式之一。MySQL8.0也对JSON数据提供了更丰富的支持。它通过提供一个JSON_TABLE()的函数来把JSON数据转化成为关系型数据表,从而使得用户可以对JSON数据进行SQL查询,大大提高JSON数据的可用性。
MySQL 8.0开始支持的Common Table Expressions(CTE) 公共表格表达式,则是另外一项非常重要的可用性语言功能。缺乏对CTE的支持一直是MySQL和主流商用数据库的差距之一。而引入CTE为MySQL书写和表达更复杂的SQL提供了可能。
另外MySQL8.0通过对Hash Join,直方图,隐藏索引和倒序索引等功能的引入,大幅度提高了系统的查询优化和查询执行的性能。
腾讯内部维护了一个MySQL的分支TXSQL,这是腾讯过去10年以来对MySQL内核源代码深度定制的项目,也是目前腾讯云数据库MySQL和云原生数据库CynosDB的内核。这次发布的腾讯云MySQL 8.0版是TXSQL基于官方8.0版的深度开发版本,大幅度提升了MySQL的性能。其主要体现在如下一些方面。
TXSQL支持异步大表删除,不会造成IO抖动,能很好的提升文件系统和DB稳定性。TXSQL还可以通过复制限速的方式,通过限制主从节点的同步复制速度,减少非必要带宽的占用,避免了突发流量导致服务器可用性降低。
数据加密是企业级数据库的核心功能之一。TXSQL与腾讯云KMS(Key Management Service)结合,也提供了对数据文件的透明加密。数据文件和物理备份文件被盗窃以后,盗窃者也无法恢复数据。
数据库审计是数据库服务核心的功能之一。所有的企业级数据库都需要向用户提供审计功能。TXSQL和官方MySQL比起来,通过旁路模式,可以实时记录用户访问数据库行为,提供全面精准,高效的数据库审计功能。
TXSQL通过对官方版本MySQL的深度开发和提升,在可用性,性能和企业级数据库的安全,审计等方面提供了全面的支持和提升。
除了在公有云端发布以外,腾讯云MySQL8.0版本还同时支持专有云的部署。腾讯专有云解决方案有Tencent Cloud Enterprise(TCE)和TStack两种解决方案。前者是基于公有云研发的企业级云平台,后者主要基于开源open-stack推出。
MySQL8.0版本的发布,同时支持这两种专有云的部署。除此之外,为了在专有云环境下更好的支持国产硬件和国产操作系统。此次发布的8.0版,已经陆续适配了飞腾,龙芯,华为鲲鹏等国产硬件平台和统信UOS,中标麒麟,银河麒麟等国产操作系统平台。
为了在专有云平台下提高元利用率,腾讯数据库提供了赤兔运营平台。其可以统一管理云平台资源,提供最小0.1CPU,256MB内存,1GB磁盘的粒度,实现弹性扩容,并且可以让MySQL 8.0和包括5.6、5.7,MariaDB 10.0、10.1、10.4,分布式数据库TDSQL均混合部署在同一物理集群中,统一管控。
赤兔运营平台是腾讯云管理运营复杂的云端数据库系统的利器,它通过可视化运营的方式,提供了完善的运营操作体系,具有全面的监控告警策略,和安全的管理能力,能够很好的支持超大规模云数据库集群的运维。
腾讯数据库的另外一个法宝是智能运维系统扁鹊(DBbrain)。DBbrain通过利用机器学习,大数据手段,专家经验引擎等快速复制资深数据库管理员的成熟经验,将大量传统手工数据库运维工作自动运维,让数据库可以做到7*24实时诊断优化,无人值守数据库运维服务。
此外,为了进一步提高性能,腾讯分布式数据库TDSQL也兼容了MySQL8.0,这让广大用户在享受到MySQL 8.0的诸多功能和性能提升的时候,也享受到分布式数据库的各种优点,包括故障自动平滑切换,弹性水平扩展等。
腾讯云 MySQL 8.0的发布,结合了MySQL8.0官方版本丰富的功能和性能提升,和腾讯TXSQL的深度优化。加上TDSQL的适配,和国产硬件以及操作系统的适配和优化,以及腾讯云数据库强大的赤兔和扁鹊运营运维平台,为广大客户带来了可用性和性能都极致提升的MySQL。我非常看好其前景。