据一位数据库研究人员称,基于向量嵌入算法的自动化数据库系统可将常见PostgreSQL数据库服务的默认设置性能提升两到十倍。
卡内基梅隆大学数据库研究组副教授安迪·帕夫洛向媒体解释称,数据库调优与优化选项的自动化问题——这一长期以来数据库管理员(DBA)所珍视的技能——的难点在于,单一模型很难一次性处理所有参数。
尽管经验丰富的DBA可能具备调整系统性能的经验,但构建现代系统的开发者更倾向于调用某中心等大型云服务商的数据库服务,并且不太了解如何对其进行调优。
数据库为系统构建者提供了大量旨在提升性能的可选配置。帕夫洛表示,这些选项主要分为四类。包括系统参数(如运行时参数和内存缓存策略)、物理设计(如数据结构或索引类型)、控制数据库如何执行查询的查询调优选项,以及涉及何时升级软件或硬件的长期决策的生命周期管理。
虽然机器学习技术已构建出智能体来尝试单独解决这些问题,但将它们作为一个整体来处理会导致选择及其组合的数量变得极其庞大,且许多选择相互依赖。早期的研究试图找出这些调优的最佳顺序,但他们发现解决方案可能取决于工作负载,并且在寻找解决方案过程中所做的选择意味着可能会错过最佳方案。
帕夫洛的团队希望一次性调优所有智能体,但问题空间如此巨大,任何系统在找出解决方案之前都会耗尽计算时间,尤其是因为系统必须在运行查询后才能发现是否接近最优解。
为了解决这个问题,该团队参考了某机构2016年的一篇论文,该论文提出利用关于动作的先验信息,将它们嵌入到一个可以泛化的连续空间中。这被命名为沃尔珀廷格架构(以德国民间传说中的神话生物命名),它使用向量嵌入来衡量先前动作的相似性,其原理与大型语言模型(LLM)使用向量嵌入判断词语相似性相同。
采用这种方法,帕夫洛的团队构建了一个名为Proto-X的所谓“整体调优智能体”,旨在一次性为所有可能的数据库调优选项找到一个最优输出,而不必运行所有单独的调优智能体。
“你创建一个编码器,将数据库的配置转换为特征向量,并将其放入一个高维潜在空间。你还训练一个解码器,该解码器可以接收嵌入所源自的特征向量,并将其还原回数据库配置,”他说。
帕夫洛表示,强化学习算法可以学习如何对数据库调优选项进行排序,并决定是进行更多探索还是利用已见过的方案,从而收敛于一个更好的配置。
帕夫洛说,运行Proto-X工具可能需要12小时才能得出“惊人”的结果。但可以通过使用基于LLM的“助推器”来缩短这一时间,该助推器获取其他类似数据库的训练数据,并识别出与当前数据库性能特征相似的配置。
“我们新的LLM助推技术提供了知识迁移,可以将那12小时的时间缩短到大约50分钟,”帕夫洛说。
最近一篇论文的主题表明,该LLM助推器还能在紧急情况下根据时间限制和数据库的当前状态做出响应。
“如果你的数据库‘起火’了,你不会想运行一个可能需要一小时来计算修复方案的算法,”帕夫洛说。“你会想立即运行一些东西来试图缓解问题。一旦情况稳定下来,它就可以运行一个长期算法——使用LLM助推器的整体算法——虽然需要更多时间,但能提供确保未来不再发生问题所需的预防性维护。所以,这是一个重大的改变。”
自动驾驶数据库的概念可能至关重要,这不仅对于缺乏数据库管理经验的开发者如此,随着“氛围编程”概念的普及更是如此。
“我相信,随着LLM助推技术的加入,我们已经达到了可以实现完全无需人工干预的自动驾驶数据库系统的阶段,”帕夫洛说。“这在氛围编程时代绝对至关重要,因为那时将有一大堆智能体生成应用程序,而人类根本无需查看。”
帕夫洛正在创立一家新公司,该公司最初将提供一项技术,用于为PostgreSQL数据库服务提供整体调优和LLM助推。这家名为“所以你不必动手”(SYDHT)的公司预计将于明年推出。
帕夫洛表示,通过基于沃尔珀廷格架构的Proto-X,用户可以在标准PostgreSQL数据库服务设置上获得高达10倍的性能提升。® 赞助内容:某机构云上的生成式AI。免费开始使用。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。