为什么为什么SQL正在击败正在击败NoSQL,这对未来的数据意味着什么,这对未来的数据意味着什么
导读:导读:经过多年的沉寂之后,今天的SQL正在复出。缘由如何?这对数据社区有什么影响?看看本文的分析。以下为译文。
自从可以利用计算机做事以来,我们一直在收集的数据以指数级的速度在增长,因此对于数据存储、处理和分析技术的要求也
越来越高。在过去的十年里,由于SQL无法满足这些要求,软件开发人员就抛弃了它,NoSQL也就因此而渐渐发展起来:
MapReduce,Bigtable,Cassandra,MongoDB等。然而,如今SQL正在重新复出。云端的主要供应商们现在都提供了广受
大众欢迎的托管关系型数据库服务:例如Amazon RDS,谷歌Cloud SQL,Azure的PostgreSQL数据库(Azure将于今年发
布)。用亚马逊自己的话来说就是Aurora数据库结合了PostgreSQL和MySQL数据库,因此该产品一直是“AWS历史上增长最快
的服务”。在Hadoop和Spark之上的SQL接口继续蓬勃发展。就在上个月,Kafka推出了SQL支持。在这篇文章中,我们将研究
SQL现在为什么会复出的原因,以及这对未来的数据社区工程和分析意味着什么。SQL为何卷土重来?为何卷土重来?
要理解SQL为何会卷土重来,先从为什么设计SQL开始。
我们的故事始于20世纪70年代早期的IBM研究,那时关系型数据库就诞生了。当时的查询语言依赖于复杂的数学逻辑和符号。
Donald Chamberlin和Raymond Boyce两个人刚刚完成哲学博士学位,对关系型数据模型印象深刻,但是发现查询语言将成为
其发展的一个主要瓶颈。于是他们便开始设计一种新的查询语言(用他们自己的话说):“让那些没有接受过数学和计算机编程方
面正规训练的用户更容易使用”。
两个查询语言的比较
仔细想想这件事。在互联网出现之前,在个人电脑出现之前,当编程语言C首次被引入世界时,两位年轻的计算机科学家意识
到,“计算机行业的成功很大程度上依赖于培养一种除了训练有素的计算机专家以外的用户。”他们想要的是一种像英语一样易
于阅读的查询语言,这也将包括数据库管理和操作。其结果就是在1974年首次将SQL引入世界。在接下来的几十年里,SQL
将被证明是非常受欢迎的。随着诸如System R、Ingres、DB2、Oracle、SQL Server、PostgreSQL、MySQL(等等)关系型数
据库接管了软件行业,SQL也成为了与数据库交互的卓越语言,成为了一个日益拥挤、竞争激烈的生态系统的通用语言。(遗
憾的是,Raymond Boyce从来没有机会见证SQL的成功。1个月后他便死于脑动脉瘤,只做了一个最早的SQL演讲,当时他只
有26岁,留下了一个妻子和一个年轻的女儿。)有一段时间,似乎SQL成功地完成了它的任务,但后来互联网出现