快上车,数据库智能自治时代已到来,腾讯云数据库 X AI 取得新突破

为推动数据库领域技术创新,赋能企业转型升级,腾讯云原生数据库团队持续发力,团队最新研究成果入选2022年国际顶会SIGMOD,并在2022年智能调优人机大赛中战绩不菲。这标志着腾讯云数据库在数据库自治领域取得重大突破,实现性能领先

腾讯云数据库云原生团队近期举办了线上直播知识分享活动“腾讯云数据库自治AI技术首次解密”,本次直播对数据库自治领域进行行业探讨,并分享了腾讯云数据库自治的AI研究和实践经验。

完整视频回顾链接

一、《数据库自治技术未来和挑战》

分享人:周可 / 华中科技大学教授

周可教授表示,在海量数据的大背景下,DBA(人工运维)的增长远远跟不上数据的增长,且用户负载具有多样性和动态性,一成不变的运维方式已不能够满足用户的需求。把AI加入到数据库,形成数据库的自治大脑,符合数据库自治的发展方向

实现数据库自治的基本框架包括观察、分析、决策三个方面。用更低的成本收集负载数据,根据收集到的数据选择合适的方法进行分析,最后决策部分解决何时部署,量化操作以便于模型处理,进行反馈操作使模型能够进行自学习,自优化,从而使自治数据库可以在不需要人工辅助的前提下,针对特定的数据和负载自动地进行配置、管理和优化

未来,数据库自治面临的挑战有三方面:

  • 数据库负载动态多样,需要保证数据库的高效适应性
  • 用更少的资源,保证数据库的性能稳定性
  • 数据库自治操作具有可解释性,以便帮助系统管理员从中学习,还可以促进系统的优化发展。

二、《“智能调参” AI 技术实践》

分享人:邢家树 / 腾讯云数据库高级工程师

数据库的参数多,调优难度大,运维人时成本高;现存工具功能有限,耗时久且效果一般;部分用户没有专职运维团队,参数调优更是难以实现。针对种种困难,腾讯云数据库团队推出参数调优服务端到端地自动调优数据库参数。相比于现存方法,CDBTune(腾讯云MySQL混合调优系统)无需细分负载类型,无需积累大量样本,可智能学习参数调优过程,获得较好的参数调优效果 。

原理上采用深度强化学习模型。通过对数据库进行压测,记录数据库的内外部指标,生成样本进行学习。使用遗传算法和专家经验进行快速预热,通过并行架构显著提升调优速度。实行端到端的设计,简单、高效且易于训练,易于实现服务化,能够在尽可能少的时间里,为用户找到最佳调优方向。

落地到工程实践应用层面。分离服务调度和任务执行工作,由worker执行具体的任务。Learner任务负责抽取样本,计算网络梯度,更新神经网络,为Actor推荐数据库参数。Actor则负责与训练实例交互,设置参数,回放流量,并收集性能数据;每完成一轮,从Learner获取新的参数推荐,形成闭环。整体上实现为并行架构,具备高可用、可扩展、任务自动恢复等能力

三、腾讯云数据库自治,“监控-诊断-解决” AI 技术实践

分享人: 张远 / 腾讯云数据库专家工程师

在数据库服务中,数据库资源包括内存/IO/CPU,资源的监控,异常的识别、检测非常重要,只有合理地使用数据库资源,才能保持数据库服务的稳定高效。腾讯云MySQL的异常检测能力,可自动发现异常(内存分析、内核埋点、io延迟硬件资源统计),对异常进行识别,实现异常检测内部闭环,降低运维压力。

腾讯云MySQL可设置SQL限流功能,在发现异常请求之后,对异常业务SQL进行限流,从而保证正常SQL语句能够运行;改进MySQL官方原有直方图,推出Compressed直方图,避免了因数据倾斜导致统计信息不准,选错计划而导致的问题;推出Statment Outline功能,将用户需要的查询计划固化下来,不需要修改SQL语句,从Outlint表中即可查询到对应的计划,从而提升用户使用体验;对新建索引进行并行优化,推出并行排序优化,并行构建btree,与官方mysql对比,性能更好(加速比最高可到15,是官方mysql的5倍),功能更全;优化器自治方面,跟踪业务 SQL 性能数据 (SQL 标签,性能埋点,变化跟踪),自动产生优化策略(统计信息,虚拟索引,计划干预),验证优化策略并灰度生效,实现 SQL 调优闭环,降低规模化运营压力。

针对特定业务场景性能问题, 对死锁场景优化,设置死锁检测开关,丰富死锁信息,对事务锁优化,降低发生死锁的概率同时减少了锁资源占用;对电商业务的秒杀场景,动态一键开启热点更新保护功能,使业务无感知,秒杀场景性能提升50倍;迁移切换场景优化,通过主备缓存同步优化解决HA预热时间长等问题,使HA业务平滑过度,减少抖动。

四、“智能调参”的应用以及未来规划

分享人:程昌明 / 腾讯云数据库高级产品经理

由于业务系统的千差万别,针对业务的参数调优是令数据库管理者头痛的难题,往往需要借助经验去构筑一套相对“有效”的参数模版,往往模板无法应对所有情况。“智能”以适应任何业务场景。

腾讯云MySQL在2019和2022年发表2篇SIGMOD顶级论文:

  • 2019年,腾讯云数据库产品团队首度提出基于深度强化学习(DRL)的端到端云数据库参数调优系统CDBTune,该研究论文“An End-to-End Automatic Cloud Database Tuning System Using Deep Reinforcement Learning”入选SIGMOD Research Full Paper(研究类长文)

  • 2022年,腾讯云数据库产品团队最新研究成果入选 SIGMOD Research Full Paper(研究类长文),论文题目为“HUNTER: An Online Cloud Database Hybrid Tuning System for Personalized Requirements”,标志着腾讯云数据库团队在数据库AI智能化上取得进一步突破,实现性能领先。

通过AI智能分析的方式,能够获得最佳的调参效果;通过“一键”方式,完成复杂的调参过程,获得最佳参数设置建议。根据业务情况,业务每个阶段需要的特性是不一样的。腾讯云MySQL的最佳实践可对应到业务的以下三个阶段:

实例新购阶段:针对每一种场景训练最优配置,尽可能匹配业务特征,不同的工作负载上有15%-50%的提升

业务快速迭代阶段:确定业务类型,不同的场景根据自身情况完全自定义,预估优化结果,一键快速应用到实例。以游戏为例,开局时玩家疯狂涌入;以电商为例,购物峰值的产生;有预见性地提前设置好最佳参数以应对即将到来的数据库峰值压力。

业务稳定运行阶段:通过对数据库的工作负载特征捕获、重放,对监控指标、SQL运行状态进行监控分析,不断通过深度学习调整参数值以最终输出最佳参数值。

数据库自治未来的“智能”展望 ,除了数据库参数,还有各种各样的因素影响着数据库的高效运行,SQL执行效率、索引是否合理、锁、资源配置等都可以通过“AI”的方式得到解决。

腾讯云MySQL“智能调参“将于5月份对外发出公测邀请,敬请期待!

五、数据库专家怎么说

在这里插入图片描述在这里插入图片描述

在使用Python来安装geopandas包时,由于geopandas依赖于几个其他的Python库(如GDAL, Fiona, Pyproj, Shapely等),因此安装过程可能需要一些额外的步骤。以下是一个基本的安装指南,适用于大多数用户: 使用pip安装 确保Python和pip已安装: 首先,确保你的计算机上已安装了Python和pip。pip是Python的包管理工具,用于安装和管理Python包。 安装依赖库: 由于geopandas依赖于GDAL, Fiona, Pyproj, Shapely等库,你可能需要先安装这些库。通常,你可以通过pip直接安装这些库,但有时候可能需要从其他源下载预编译的二进制包(wheel文件),特别是GDAL和Fiona,因为它们可能包含一些系统级的依赖。 bash pip install GDAL Fiona Pyproj Shapely 注意:在某些系统上,直接使用pip安装GDAL和Fiona可能会遇到问题,因为它们需要编译一些C/C++代码。如果遇到问题,你可以考虑使用conda(一个Python包、依赖和环境管理器)来安装这些库,或者从Unofficial Windows Binaries for Python Extension Packages这样的网站下载预编译的wheel文件。 安装geopandas: 在安装了所有依赖库之后,你可以使用pip来安装geopandas。 bash pip install geopandas 使用conda安装 如果你正在使用conda作为你的Python包管理器,那么安装geopandas和它的依赖可能会更简单一些。 创建一个的conda环境(可选,但推荐): bash conda create -n geoenv python=3.x anaconda conda activate geoenv 其中3.x是你希望使用的Python版本。 安装geopandas: 使用conda-forge频道来安装geopandas,因为它提供了许多地理空间相关的包。 bash conda install -c conda-forge geopandas 这条命令会自动安装geopandas及其所有依赖。 注意事项 如果你在安装过程中遇到任何问题,比如编译错误或依赖问题,请检查你的Python版本和pip/conda的版本是否是最的,或者尝试在不同的环境中安装。 某些库(如GDAL)可能需要额外的系统级依赖,如地理空间库(如PROJ和GEOS)。这些依赖可能需要单独安装,具体取决于你的操作系统。 如果你在Windows上遇到问题,并且pip安装失败,尝试从Unofficial Windows Binaries for Python Extension Packages网站下载相应的wheel文件,并使用pip进行安装。 脚本示例 虽然你的问题主要是关于如何安装geopandas,但如果你想要一个Python脚本来重命名文件夹下的文件,在原始名字前面加上字符串"geopandas",以下是一个简单的示例: python import os # 指定文件夹路径 folder_path = 'path/to/your/folder' # 遍历文件夹中的文件 for filename in os.listdir(folder_path): # 构造原始文件路径 old_file_path = os.path.join(folder_path, filename) # 构造文件名 new_filename = 'geopandas_' + filename # 构造文件路径 new_file_path = os.path.join(folder_path, new_filename) # 重命名文件 os.rename(old_file_path, new_file_path) print(f'Renamed "{filename}" to "{new_filename}"') 请确保将'path/to/your/folder'替换为你想要重命名文件的实际文件夹路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值