社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  DATABASE

腾讯云MySQL 8.0深度技术分析

飞总聊IT • 4 年前 • 462 次点击  

点“飞总聊IT”关注,星标

 后台回复“666”领资料


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。我非常看好其前景。


点赞,在看,转发三连,谢谢!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/71503
 
462 次点击