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 特别为关系数据库开发的两种数学模式。二、实践检验
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 数据库技术。七、能用 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;