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