数据库信息速递: SQL50年结构化数据库是末路还是重新启程

2024-05-20 15:11:14 浏览数 (1)

以下文字为infoworld美国中的媒体文字的翻译版原标题为

SQL at 50: What’s next for the structured query language?

1974年5月,Donald Chamberlin 和 Raymond Boyce 发表了一篇关于 SEQUEL 的论文,这是一种可以用于管理和排序数据的结构化查询语言。而另一家公司对 SEQUEL 这个词拥有版权,这个名称被更改为结构化查询语言(SQL)。在20世纪70年代后期,SQL 被像 Oracle 这样的数据库公司采用,与他们的新型关系数据库产品一起推出。其余的,正如人们所说,SQL就是一段数据库发展的历史。

SQL 距今已有50年的历史。SQL 是围绕数据库设计并被采用的,并且它作为管理和交互数据的方式,持续增长和发展。根据 Stack Overflow 的数据,它是专业程序员定期使用的第三大最流行的语言。2023年,IEEE 指出,由于 SQL 可以与其他编程语言结合使用,它是开发人员在找工作时最需要掌握的语言。

当今SQL是仍在使用的其他老语言,比如 COBOL(1959年推出)和 FORTRAN(1958年首次编译),它们也依然存在。尽管它们可以带来高薪职位,但它们与现有的少量的遗留的工作相关,而不是与新的和令人兴奋的项目相关。另一方面,SQL 仍然被用于 AI、分析和软件开发方面的工作。它继续成为我们日常交互数据的标准。

为什么 SQL 依然如此重要?当你看 SQL 时,你可能会问为什么它能存活甚至繁荣这么久。它当然不容易学习,因为它的语法非常特别,具有时代特征。对于新开发人员来说,SQL 的用户体验可能是一个挑战。此外,每个数据库供应商都必须支持 SQL,但每个供应商在实现这一支持时都有自己的特点或细微差别。因此,你在一个数据库上的方法可能无法轻松迁移到另一个数据库,这导致了更多的工作和更多的支持需求。

更糟糕的是,在 SQL 中容易犯错误,这些错误可能会产生真实且潜在的灾难性后果。例如,在指令中缺少 WHERE 子句可能导致删除整个表,而不是执行你想要的事务,从而导致数据丢失和恢复工作。检查你的逻辑并了解实际操作方式是必需的。

那么,为什么在 SQL 首次设计和发布50年后,它仍然是处理数据的主要方式?SQL 基于强大的数学理论,因此它继续有效地执行并支持其设计的用例。事实上,当你将 SQL 与关系数据库结合使用时,你可以将你创建的数据以及如何管理这些数据映射到许多业务实践中,这种方式可靠、有效且可扩展。简而言之,SQL 有效,并且没有其他替代选项能够以相同方式胜任。

例如,SQL 是第一种每个请求返回多行数据的编程语言。这使得在数据集内获取数据变得更容易,从而在业务及其应用中获取有用信息,并将其转化为企业可以使用的东西。同样,SQL 使得将信息划分到不同的表中更容易,然后可以将这些表中的数据用于特定的业务任务,例如将客户数据放在一个表中,将制造数据放在另一个表中。事务处理的能力是今天大多数过程的基础,而 SQL 在规模上实现了这一点。

SQL 成功的另一个重要原因是,这种语言始终与时俱进。从其关系根源出发,SQL 多年来增加了对地理信息系统(GIS)数据、JSON 文档以及 XML 和 YAML 的支持。这使得 SQL 能够跟上开发人员与数据交互的需求。现在,SQL 可以与矢量数据结合,使开发人员能够使用 SQL 进行交互,同时进行生成式 AI 应用的矢量搜索。

SQL 的未来是什么?过去曾有取代 SQL 的尝试。NoSQL(不仅是 SQL)数据库被开发出来以取代关系数据库,并摆脱传统的规模化处理和管理数据的模式。然而,这些数据库并没有取代 SQL,而是增加了自己的类似 SQL 的语言,复制了 SQL 深入开发人员工作方法的一些方法和方法。

过去,自然语言处理的倡导者曾呼吁采用新方法,摒弃 SQL 标准化且笨拙的方法。然而,这些尝试最终产生了与试图取代的东西同样笨拙的方法,导致它们被搁置或忽视。生成式 AI 可能会承担更多为开发人员编写 SQL 的任务,因为大型语言模型在训练过程中接触到了大量 SQL 代码。然而,尽管这种方法可能会随着时间的推移发展并变得更加流行,但它仍然依赖于 SQL 来实际与这些数据集进行交互并将结果反馈给用户。如果有什么不同的话,这可能会使 SQL 在未来更加重要,而不是不重要,尽管它对开发人员来说会变得不那么显眼。

即使 SQL 最终退居幕后,它仍将继续在我们与数据交互和使用数据的方式中扮演关键角色。由于我们所有 IT 系统中的绝大部分都依赖数据来运行,SQL 短期内不会消失。所以,让我们庆祝 SQL 50 岁生日,并考虑我们如何在未来继续开发和使用它。

0 人点赞