GenAI时代,50岁的SQL会往何处去?
作者: CBINEWS
责任编辑: 邹大斌
来源: 电脑商情在线
时间: 2024-05-20 16:54
1974年5月,Donald Chamberlin和Raymond Boyce发表了一篇关于SEQUEL的论文,SEQUEL是一种可用于管理和排序数据的结构化查询语言。由于另一家公司对SEQUEL一词有版权被迫改名,20世纪70年代后期甲骨文等数据库公司及其新型关系数据库产品开始采用结构化查询语言(SQL)来称呼它。
算起来,SQL已经有50年的历史了。SQL是围绕数据库设计和使用的,它作为一种管理数据和与数据交互的方式不断发展壮大。根据Stack Overflow的说法,它是专业程序员经常使用的第三大流行语言。2023年,IEEE指出,SQL是开发人员在找工作时最受欢迎的语言,因为它可以与其他编程语言相结合。
当你看看今天使用的其他较老的语言时,COBOL(1959年)和FORTRAN(1958年)等语言也在继续。虽然它们可以带来高薪职位,但它们与旧系统有关,而不是与新的令人兴奋的项目。另一方面,SQL仍被用作人工智能、分析和软件开发工作的一部分。它仍然是我们日常与数据互动的标准。
为什么SQL仍然如此重要?
当您查看SQL时,您可能会问为什么它能存在、甚至蓬勃发展这么长时间。它当然并不容易学习,因为它采用了一种特殊的语法。对于新的开发人员来说,SQL的用户体验可能很有挑战性。除此之外,每个数据库供应商都必须支持SQL,但在如何实现这种支持,每个供应商都有自己的方式。因此,您对一个数据库的编码可能不容易转换为另一个数据库,从而导致更多的工作和更多的支持需求。
更糟糕的是,SQL中很容易出现错误,这些错误可能会产生实际的、潜在的灾难性后果。例如,指令中缺少WHERE子句可能会导致您删除整个表,而不是执行所需的事务,从而导致数据丢失和恢复工作。检查您的逻辑并了解实际操作是必要的。
那么,为什么SQL在首次设计和发布50年后的今天仍然是处理数据的主要方式呢?SQL基于强大的数学理论,因此它可以继续有效地执行并支持其设计的用例。事实是,当您将SQL与关系数据库相结合时,您可以以可靠、有效和可扩展的方式将您创建的数据以及如何管理这些数据映射到许多业务实践。简单地说,SQL是有效的,而且没有任何替代选项以同样的方式达到目的。
例如,SQL是第一种在单个请求中返回多行结果的编程语言。这使得更容易从正在发生的一组数据中获得所需要的数据,然后将其转化为业务可以使用的东西。类似地,SQL可以更容易地将信息划分和隔离到不同的表中,然后将这些表中的数据用于特定的业务任务,例如将客户数据放在一个表中,将生产数据放在另一个表。执行事务的能力是当今大多数进程的支柱,而SQL使这成为可能。
SQL成功的另一个重要原因是该语言始终与时俱进。多年来,SQL从其关系根源上增加了对地理信息系统(GIS)数据、JSON文档以及XML和YAML的支持。这使SQL能够跟上开发人员与数据交互的速度。现在,SQL可以与向量数据相结合,使开发人员能够使用SQL与数据进行交互,但可以对生成的人工智能应用程序进行矢量搜索。
未来SQL如何发展?
过去曾有人试图取代SQL。开发NoSQL(不仅仅是SQL)数据库是为了取代关系数据库,摆脱大规模使用和管理数据的传统模型。然而,这些数据库并没有取代SQL,而是添加了自己的类似SQL的语言,复制了SQL在开发工作中的一些方法和方法。
过去,自然语言处理的倡导者们呼吁采用新的方法来消除SQL的标准化和笨拙的方法。然而,最终采用的方法与他们试图取代的方法一样笨拙,这导致他们被边缘化或忽视。生成型人工智能可能会承担更多为开发人员编写SQL的任务,因为作为训练的一部分,大型语言模型已经暴露在大量SQL代码中。然而,尽管这种方法可能会随着时间的推移而发展并变得更加流行,但它仍然依赖SQL与这些数据集进行实际交互,并将结果返回给用户。如果有什么不同的话,这可能会使SQL在未来变得更重要,而不是更少,即使它对开发人员来说不那么显眼。
即使SQL最终被抛在幕后,它也将继续在我们如何与数据交互和使用数据方面发挥关键作用。在我们所有的IT系统中,有很大一部分依赖数据来运行,SQL不会很快消失。因此,让我们庆祝SQL 50岁生日,并考虑如何在未来继续开发和使用它。
