|
|
51CTO旗下网站
|
|
移动端

震惊!No-SQL正淘汰SQL?

No-SQL正淘汰SQL?上周,朋友给我转发了某成功企业家的邮件,里面宣称“SQL已经过时了”。该企业家声称,MongoDB和Redis 这样受欢迎的 No-SQL 数据库,会慢慢地将基于SQL的数据库淘汰。

作者:读芯术来源:今日头条|2020-02-18 19:01

No-SQL正淘汰SQL?

上周,朋友给我转发了某成功企业家的邮件,里面宣称“SQL已经过时了”。

该企业家声称,MongoDB和Redis 这样受欢迎的 No-SQL 数据库,会慢慢地将基于SQL的数据库淘汰。因此,身为数据科学家,学习SQL是“抱残守缺”

看到他的邮件我非常震惊,他是怎么得出这么离谱的结论的?但这也令我好奇......别人会不会也这样误解了呢?该企业家有大量拥趸,他本人也直言不讳:新的数据科学家收到建议别再学习SQL了吗?

可能其他人也认为SQL正在被淘汰,在此,我想公开向该企业家作出回应。

在从事数据科学的职业生涯里,学习SQL非常有必要。No-SQL无法撼动学习SQL的意义。

基本上,有两个理由可以保证SQL在未来几十年都不会过时。

理由1:No-SQL数据库不会取代Presto、Redshift、BigQuery等分析数据库

不论应用程序使用的是MySQL这样的SQL后端,还是像MongoDB那样的No-SQL后端,该后端中的数据最终都会被加载到专门的分析数据库中,比如Redshift、Snowflake、BigQuery或 Presto。

No-SQL正淘汰SQL?
分析数据库平台的示例体系结构:SQL和NoSQL

公司为什么把数据转移到Redshift这样的专栏存储中?因为专栏存储能更快地运行分析查询,不论是NoSQL还是像MySQL这样的行存储数据库。事实上,我敢打赌,专栏存储数据库的普及速度与NoSQL数据库一样快。

因此,像NoSQL以及其他数据库还有匹配的应用程序,它们的技术通常与数据科学家无关,因为他们不使用数据库应用程序。当然也有一些例外,将在后文讨论。

理由2:NOSQL数据库的优势并非不支持SQL语言

事实证明,如果支持基于SQL的查询引擎是有意义的,那么No-SQL存储可以实现它。类似地,SQL数据库也可以支持NoSQL查询语言,但是它们选择不支持。

那么,为什么专栏存储数据库有意选择提供SQL接口呢?

他们做出这样的选择,是因为SQL语言在表达数据操作指令上非常强大。

以一个简单的查询为例,它是NoSQL数据库下MongoDB的计算集合中的文档数量。

注意:MongoDB中的文档类似于行,而集合则类似于表。

  1. db.sales.aggregate( [  
  2.  
  3. $group: {  
  4. _id: null 
  5. count: { $sum: 1 }  
  6.  
  7.  
  8. ] ) 

将其与等效SQL进行比较。

  1. select count(1) from sales 

显而易见,对于想要提取数据的人来说,SQL语言是更好的选择。NoSQL数据库支持不同的语言,因为在数据库接口的应用程序库方面,正确构造SQL比较困难。

前文提到过,应用程序数据库的技术与数据科学家无关,但是这一规则有一些例外。我的第一家公司实际上没有像Redshift那样的分析数据库,所以必须直接查询应用程序的数据库。更准确地说,是在查询应用程序数据库的读副本。

该公司的应用程序还使用了No-SQL数据库Redis,而且不止一次我需要直接从Redis提取数据,所以确实需要学习Redis的NoSQL API的一些组件。

No-SQL正淘汰SQL?

因此,在主要应用程序专门使用NoSQL数据库的环境中,学习哪种SQL可能都无关紧要。但在非常罕见情况下,随着公司的成长,他们几乎肯定会投资建立一个支持SQL的分栏存储分析数据库。

【编辑推荐】

  1. MySQL备份失败,一波三折的问题分析和处理
  2. 为什么 MongoDB 索引选择B-树,而 MySQL 选择B+树(精干总结)
  3. 浅谈MySQL的事务和ACID
  4. MySQL的覆盖索引与回表
  5. NoSQL 已死:我们不需要他了
【责任编辑:未丽燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

Docker一键部署,3小时学以致用

Docker一键部署,3小时学以致用

Docker学以致用
共3章 | jextop

100人订阅学习

高并发互联网消费金融领域架构设计

高并发互联网消费金融领域架构设计

应对高并发架构
共5章 | jayslife

91人订阅学习

Kubernetes:21天完美通关

Kubernetes:21天完美通关

从小白到修神
共29章 | 断水流大师兄

916人订阅学习

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微