No-SQL being eliminated SQL?

The full text 1631 words, when learning is expected to grow 5 Fenzhong

Source: Pexels

 

No-SQL being eliminated SQL?

 

Last week, a friend gave me a forwarded e-mail of a successful entrepreneur, which declared that "SQL is obsolete."

 

The entrepreneur claims, MongoDB and Redis so popular No-SQL databases, it will slowly SQL-based database eliminated. Thus, as data scientists, learning SQL is "anachronistic"

 

I saw his mail was shocked, how come he is so outrageous conclusions? But it also made me curious ...... others will also do so misunderstood? The entrepreneur has a lot of fans, he also bluntly: New data scientists receive recommended stop learning SQL yet?

 

Other people may think that SQL is being phased out, at this point, I would like to publicly respond to the entrepreneur.

 

He engaged in data science career, learning SQL is necessary. Learning the meaning of No-SQL SQL can not shake.

 

Basically, there are two reasons to ensure that SQL will not become obsolete in the coming decades.

 

Reason 1: No-SQL database does not replace Presto, Redshift, BigQuery and other analysis database

 

Regardless of the application using a SQL backend such MySQL, or No-SQL back-end like MongoDB as the back-end of the final data will be loaded into a special database analysis, such as Redshift, Snowflake, BigQuery or Presto.

Examples of architecture analysis database platform: SQL and NoSQL

 

Why the company to transfer the data to a column in stores such Redshift? Because the column storage can run analytic queries more quickly, whether or NoSQL database storage line like MySQL. In fact, I bet the rate of adoption column store database and NoSQL database as fast.

 

Therefore, as well as other NoSQL databases as well as matching applications, they are usually nothing to do with technical data scientists, because they do not use a database application. Of course there are some exceptions, will be discussed later.

 

Reason 2: Benefits are not NOSQL database does not support the SQL language

 

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

 

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

 

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

 

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

 

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

 

db.sales.aggregate( [
 {
   $group: {
      _id: null,
      count: { $sum: 1 }
   }
 }
] )

将其与等效SQL进行比较。

 

select count(1) from sales

 

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

 

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

 

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

 

 

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

 

感谢阅读!希望对大家有帮助~

留言 点赞 关注

我们一起分享AI学习与发展的干货
欢迎关注全平台AI垂类自媒体 “读芯术”

(添加小编微信:dxsxbb,加入读者圈,一起讨论最新鲜的人工智能科技哦~)

发布了790 篇原创文章 · 获赞 2540 · 访问量 40万+

Guess you like

Origin blog.csdn.net/duxinshuxiaobian/article/details/104371972