即使已经过去了50年,结构化查询语言(SQL)仍然是数据领域人士的母语。自20世纪70年代中期首次被命名为“结构化查询英语语言”以来,它就展现出了令人印象深刻的持久性。它在互联网泡沫时代和云计算技术的广泛普及中都存活了下来。本质上,SQL是一种能够不断进化的技术。
SQL的未来在于其能够随着数据范式和技术的出现而进化,从而帮助数据管理者应对新兴的数据范式和技术。这在图数据库和向量数据库的新兴领域中尤为明显,这些数据库通过在生成式人工智能(GenAI)和大型语言模型(LLMs)中的应用,正在重塑数据交互和计算方式。
SQL的当前角色:数据管理的基石
专门从事各种编程语言和构建工具(如Python、Tableau和.NET)的软件开发人员在与后端数据库交互时都会使用SQL。熟悉SQL的人知道,它与关系数据库是完美契合的,而关系数据库是企业IT数据管理的支柱。SQL数据库以行和列的形式存储数据,并通过在表之间建立明确的关系,为数据检索者提供他们所需的所有上下文信息。
互联网电影数据库(IMDb)就是一个很好的例子。IMDb是一个单一数据库,它不仅告诉你有关电影的一切信息,还包括导演、编剧、演员和工作人员的信息。IMDb档案可供任何想要使用一个大型真实世界数据库来学习SQL和/或数据库管理技术的人使用。
在一个像IMDb这样的关系数据库中,每个表都以一个主键开始,即一条数据,作为唯一标识符。在这个例子中,主键可能是一个特定的电影名称,更有可能是一个电影ID。如果你按名称搜索一部电影,网络界面会查询包含电影数据的表。但一部电影的信息远不止其核心细节,如融资时间、上映时间和电影长度。其他数据存在于其他表中,这些表通过它们的键明确地相互“关联”。
例如,一个与电影相关的数据库需要单独的表来存储电影中演员的数据。另一个表存储制片人的数据,另一个表存储其他工作人员的数据,等等。这使得通过将电影表中的数据与来自其他相关表的数据关联起来,很容易找到有关这部电影的所有数据。
SQL的一个最大优势是它的易用性。简而言之,SQL是一种非常类似英语的语言,无论是开发人员还是非开发人员都可以轻松学习和使用。SQL SELECT命令简单到足以让许多人只需几个小时就能掌握其基础知识。SELECT使查询能够搜索并检索特定数据集,而无需复杂的代码。SQL还与上述许多开发工具集成,这进一步增加了其广泛采用和可用性。
尽管SQL长期以来具有诸多优势,但随着人工智能和机器学习的发展,数据库领域正在发生变化——图数据库和向量数据库的兴起。这些数据库的日益流行与人工智能的无处不在,是SQL最新演变的核心。
下一个前沿领域:向量和图数据库
SQL或许是关系数据库的通用语言,但图数据库和向量数据库则有所不同。事实上,商业图数据库和向量数据库带有“非关系型数据库”(NoSQL)的标签。讽刺的是,NoSQL并不意味着它们不支持SQL命令。相反,它意味着“不仅仅是SQL”。
为什么呢?SQL作为企业IT领域数据语言的地位如此根深蒂固,以至于任何不支持SQL的新数据库公司都会迫使企业面临一个艰难的选择:是坚持使用员工已经非常熟悉的查询语言,还是学习一种全新的查询语言。因此,大多数商业图数据库和向量数据库都支持最常见的SQL命令,这些命令被封装在ISO/ANSI SQL-92标准中。
与关系数据库以表格和关系的形式表示数据不同,图数据库使用节点(类似于表格)和边(类似于关系)来表示数据的图形结构,以展示大量数据之间的复杂关系。向量数据库存储非结构化数据——如图像、音频和PDF文本——并将它们转化为数学表示。向量数据库还可以比较两个数据点,以显示它们之间的潜在相似性,即使这些数据点看起来差异很大。
向量数据库将图像、音频和文本转化为数学构造的能力,使其对训练大型语言模型极具吸引力。与传统的Oracle、Microsoft SQL Server或流行的开源数据库PostgreSQL等关系数据库不同,向量数据库需要大量的处理能力,因此它们消耗的功率超出了传统CPU所能提供的范围。
正是由于这个原因,随着大型语言模型的流行,对图形处理单元(GPU)的投资也在增加。最初,GPU是为了加快视频游戏中的渲染速度而设计的,其高端图形通过“向量渲染”得到支持。事实证明,向量渲染直接映射到向量数据库的需求,并为高效支持生成式人工智能平台、大型语言模型和游戏提供了处理能力。
SQL在图和向量时代的角色
既然我们已经进入了图和向量数据库的时代,SQL又该如何定位呢?正如几十年来其他新技术范式的出现一样,我们再次发现SQL具有持久性。
例如,最受欢迎的关系数据库平台正在整合向量数据类型、专门处理向量数据的函数以及通过倒排文件(IVF)索引和分层可导航小世界(HNSW)索引对向量数据进行索引。在图方面,供应商正在推出支持图数据类型的特性。例如,国际标准化组织(ISO)的SQL委员会已经在努力扩展SQL标准,以纳入适用于向量/图数据库系统的额外查询语言元素,规则为SQL/PGL(属性图查询),以及引入全新的图查询语言(ISO-GQL),这是一种适用于所有图数据库平台的统一和标准化语言。
这些增强功能使SQL更具多功能性,能够满足现代数据和分析应用的需求。这证明了SQL的广泛使用已经在影响未来数据库管理实践。
正如前面提到的,还有许多流行的非关系型数据库平台支持类似SQL的特性,因为这种语言的易用性和普及性。它们包括MongoDB、Cassandra、Amazon DynamoDB、Microsoft Azure Cosmos DB和Google Bigtable等平台。这种最新的SQL演变的发布将导致更准确、更一致的人工智能系统,从而在各个行业中改善结果。用例包括医疗保健中更准确的基因组学,以帮助预防性医疗措施;电子商务客户更相关的推荐;地理中心数据系统(如能源勘探和天气建模)的更快计算;以及物流公司的更高效运营。
SQL的未来
我记得在20世纪80年代中期,我在DEC RDB数据平台上第一次使用SQL时,SQL尚未标准化。
但美国国家标准化协会(ANSI)很快,随后国际标准化组织(ISO)也认识到这种语言的重要性,并分别在1986年和1987年对其进行了标准化。
从那时起,我们看到SQL不断发展壮大,成为全球主要数据库管理系统(DBMS)的首要语言。它不仅是企业IT数据的基石,还被用于数十亿台使用轻量级关系数据库SQLite的Android设备。随着SQL的持续演变,组织将需要为行业转变做好准备,以充分利用SQL在人工智能世界中的价值。
这对您意味着什么?IT领导者必须培养不仅精通SQL,而且掌握关系数据库、生成式人工智能和应用程序开发基础概念的人才。在硬件方面,他们必须拥抱支持人工智能技术的基于GPU的系统,并利用图和向量数据库的价值。
最后,他们必须利用新的和传统的数据平台以及与行业合作伙伴的关系,帮助他们过渡到最新、最强大的数据管理系统。如果他们不这样做,他们将很快落后,因为他们看着已经完成转型的竞争对手超越了他们。
拥抱这些变化以及SQL的下一个阶段,将帮助组织在未来几十年内推动创新,协助分析和预测,并赋能数据驱动的决策。
原文地址:https://www.dbta.com/Editorial/Think-About-It/After-50-Years-Whats-Next-for-SQL-167493.aspx
原文作者:Kevin Kline