如果你一直在冬眠,那么 2023 年,所有人都在谈论的技术就是人工智能。在 ChatGPT 和 Llama 等大型语言模型的引入及其易于访问的推动下,商人和技术专家一直在疯狂猜测这些工具的潜力。
根据您交谈的对象,a) IT 专业人员应该开始学习成为管道工;b) 一切都不会改变;c) 管理员和开发人员的武器库中将拥有新工具,以提高他们的工作效率。
本周,我为 Converge 360 举办了一次在线峰会,讨论了 Microsoft 生态系统中人工智能解决方案的现状。之后,我决定写一篇关于数据库系统中人工智能现状的专栏。与任何炒作周期一样,您需要注意的事情之一就是所谓的“人工智能清洗(AI washing)”。Techopedia 通过以下方式定义此行为:
“人工智能清洗(AI washing)”是指声称产品采用了人工智能技术,但实际上并未采用人工智能技术。如果供应商继续洗牌人工智能,“人工智能”将成为另一个流行词——这将降低投资者和公众对该技术的信心。
我们过去在其他技术炒作周期中也看到过这种情况——我无法告诉你我在 2010 年代初开发了多少个 20 GB“大数据”系统,或者几年后有多少供应商工具采用了“机器学习”。考虑到这一点,我想讨论一些事情:数据库引擎的当前状态、用于编写 SQL 的实际 AI 工具 (GitHub Copilot) 以及未来使用 AI 技术改进数据库的潜在用途。美国国家标准与技术研究院对人工智能的定义如下:
(1) 计算机科学的一个分支,致力于开发数据处理系统,执行通常与人类智能相关的功能,例如推理、学习和自我完善。
(2) 设备执行通常与人类智能相关的功能(例如推理、学习和自我完善)的能力。
在研究这篇文章的过程中,我发现了一个在数据库交叉点进行 AI 清洗的经典例子:“例如,Oracle 的自治数据库使用 AI 自动优化 SQL 查询。”
虽然我认为这正是我上面描述的营销工作,但这里有一个事实要素。基于成本的查询优化器使用许多人工智能原理来创建更优化的执行计划。基于成本的优化器结合了有关数据库中数据之间关系的多个假设,并使用列和索引统计信息来做出更好的决策。
您还可以在其他一些地方看到使用人工智能的数据库引擎。Oracle 和 Microsoft 在其云产品中自动创建索引。Microsoft 在 2019 年 SIGMOD 会议上展示了这篇论文,描述了它在 Azure SQL 数据库中的工作原理。简而言之,Microsoft 将进入数据库的查询流分叉,并在数据库的第二个卷影副本上进行实验,从而允许它在主副本上创建索引之前测试索引的功效。
SQL Server 中自我改进功能的另一个例子是自动调优,它在 SQL Server 2017 中首次亮相。如果 CPU 时间增加超过内部阈值,它会使用查询存储功能强制执行最后一个已知的良好执行计划。虽然这些功能不使用大型语言模型,但它们符合 NIST 对 AI 的定义,即使它们使用简单的启发式方法来做出决策。
推出 Copilot for T-SQL


虽然该索引适合该查询,但我认为 Copilot 不会根据表中已存在的其他索引做出任何决定,因此请小心避免过度索引表。虽然过度索引是一个问题,但开发人员根本不构建索引是一个更常见的问题,所以我对这种智慧表示赞赏。
我使用的最后一个测试是创建一个仅包含两列的新表,然后指示 Copilot(通过注释)我想使用 T-SQL PIVOT 来透视该表。PIVOT 因其语法的复杂性而臭名昭著。在对数据平台 MVP 的非正式调查中,我发现他们需要使用文档来编写完整的 PIVOT。在此 GIF 中,我添加了一条注释,表示我想要旋转数据,而 Copilot 足够聪明,可以为我填充语法。

这是否意味着 T-SQL 开发人员需要担心他们的工作?不。Copilot 可以帮助您构建棘手的代码,但不能帮助您添加业务逻辑。将来,我可以看到法学硕士根据表和列名称解释数据模型,并能够向服务报告写入查询。然而,这取决于拥有明确定义的表和列名称,以及法学硕士根据您的业务规则做出重要假设。是的,这些模型会随着时间的推移而改进,但许多遗留数据库将继续存在,并且具有可怕的命名约定,即使对人类来说也毫无意义。
未来
您已经了解了数据库系统中人工智能的最新技术水平。未来的潜力有多大?我看到简单和复杂操作的混合——自动创建索引和恢复错误的执行计划已经在这里。不过,我认为您会看到这些选项随着时间的推移而不断改进。我还可以预见硬件的变化会使执行计划创建的成本大大降低,这可能会为给定查询的每次执行带来更优化的执行计划。生成式人工智能将以意想不到的方式改变计算的许多方面。最后,如果您想了解人工智能系统及其如何存储数据,请阅读向量数据库。关于作者
Joseph D'Antoni 是一位架构师和 SQL Server MVP,拥有十多年在财富 500 强企业和小型公司工作的经验。他目前是 Denny Cherry and Associates Consulting 的首席顾问。他拥有路易斯安那理工大学计算机信息系统学士学位和北卡罗来纳州立大学 MBA 学位。Joey 是费城 SQL Server 用户组的联合主席。他经常在 PASS Summit、TechEd、Code Camps 和 SQLSaturday 活动中发表演讲。




