50年了!为什么我们仍在使用SQL?

SQL 和关系数据库管理系统(RDBMS)都是在上世纪70 年代早期开发的。Edgar F. Codd 开发了 RDBMS,而 Donald D. Chamberling 和 Raymond F. Boyce 开发了 SQL。二者都诞生在计算机技术的早期,而且在 90% 的时间里都非常有效,使得数据库成为了一项 “已经被解决的问题”。就像 MailChimp 已经成为了发送新闻简讯的同义词。如果你想使用数据库,你就得使用 RDBMS 和 SQL。不过,仍然还是有人使用其他 email 软件,正如还是用人使用非 SQL 的数据库。但即使是存在着其他可供使用的数据库技术,SQL 依旧占据霸主地位。以下 8 条,就是我们在 SQL 诞生 50 年后依旧使用它的原因。

一、数据处理能力

SQL 最初基于关系代数和元组关系演算——由 Codd 特别为关系数据库开发的两种数学模式。50年了!为什么我们仍在使用SQL?-每日运维所以,SQL 是特别为处理数据而设计的,而事实证明,它非常善于存取和组织数据。那么第一个原因就是:作为一种数据库技术,SQL 非常称职。

二、实践检验

RDBMS 已经问世很长时间了,所以已经用于了大量不同的情况。在 “前网络时代”,它就作为线下数据库使用,到如今,有了重大修改的 SQL 数据库,仍在 Facebook 这样的全球性 app 中扮演中核心角色——RDBMS 和 SQL 已经久经沙场。而在众多产品中运行过的无数个小时,证明了它们是可信赖的。有些软件就是能解决问题,尤其是当你在处理充斥着丢失、损坏和失败等问题的数据库时,这种优势尤为明显。作为成熟的软件,SQL 有着备份计划、变化管理和操作严谨性,而这些会使棘手的情况大为好转。因此,SQL 数据库几乎总是最好的选择。

三、知识和社区

当事物存在一段时间之后,围绕着它的知识体系就会被建立。SQL 也不例外。最过去的时间里,大量的 SQL 知识被写成文档,SQL 社区快速发展,许许多多的技术人才成长了起来。因为 SQL 社区如此活跃,SQL 文档又如此丰富,所以它便吸引了大量的人才和商业活动。而又因为 SQL 吸引了大量的人才,所以 SQL 社区更加壮大,知识更加深入。这就是多年来 SQL 的发展状况。

四、简单

计算机语言发展了这么久,直到今天,SQL 仍然是一种非常易学的语言。短短几天,你就可以学会基本的功能,能够进行查询和返回数据。非常简单。即使是传统意义上的非技术岗位,比如市场,公司高管,以及非技术性的产品经理,都会去学习基本的 SQL 功能,来支持他们的工作。而深入地了解 SQL 基于的关系型数据库系统,完全是另一件事。对于大多数只需要使用查询功能的人来说,SQL 真是太好用了。

五、高度普及

因为有半数的开发者都会使用 SQL 和 RDBMS,所以我们可以肯定地说,这两者高度普及。这绝不是一件坏事。正如上文所说,由于使用人数多,相关知识和社区得以快速发展。而又由于其简单,故而对于开发者以及其他相关人员来说,SQL 知识几乎是常识。于是,相关知识就极易在公司、产业之间传播,人才储备充足。而这又反过来促进了知识的创造和社区的成长。可见,SQL 数据库普及度极高的特性,已经为其自身的成长构筑了一个良性循环。

六、开源及互操作性

从 1995 年至今,开源的 SQL 技术(MySQL 和 PostgreSQL)已经成为了主要的 SQL 数据库技术。50年了!为什么我们仍在使用SQL?-每日运维图源:Stack Overflow2023年,Stack Overflow面向90000名开发人员进行的一项调查显示,PostgreSQL在数据库引擎的选择上领先于MySQL,这与往年的调查相比有了显著变化。这种向开源 SQL 数据库切换的趋势,对于已经规模庞大的 SQL 社区来说是一件好事。同时这种趋势的存在也印证了,SQL 社区中的开发者们正在努力地使 SQL 变得更好。

七、能用 SQL 谁还写代码?

坊间流传着这样一句话……能用 SQL server 做好的事情就别写代码。这句话背后的逻辑是,在绝大多数情况下,SQL 都能找到最有效的办法来完成你的任务,而且做得比任何能自己写代码来解决的人更好。举个例子。假设我们需要建立一份关于 “加利福尼亚 2020 年第三季税收” 的报告,具体做法是,选出列表中加利福尼亚的用户,并按照数据进行排列。那么你只需要一句 SQL 语句就可以完成:

SELECT SUM(Value_USD) AS California_Revenue_Q3 FROM Transactions WHERE Location = ‘California’ AND DATEPART(q, Date) = 3 AND YEAR(Date) = 2020;