加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

SQL 已死,NoSQL才是王道?醒醒吧,别瞎说八道了

发布时间:2019-11-11 21:47:15 所属栏目:移动互联 来源:SQL大数据专列
导读:乱象 当今数据库供应商风头正茂的,要数这三家公司,Amazon, Google, Microsoft. 没错,他们都是云计算提供者。火热的三款看家产品分别是: Amazon RDS, Google Cloud SQL, Azure Database for PostgreSQL. A厂CTO说,AWS最火的产品是什么呢?是 Aurora 数
副标题[/!--empirenews.page--]

乱象​

当今数据库供应商风头正茂的,要数这三家公司,Amazon, Google, Microsoft. 没错,他们都是云计算提供者。火热的三款看家产品分别是:

  • Amazon RDS, Google Cloud SQL, Azure Database for PostgreSQL.

A厂CTO说,AWS最火的产品是什么呢?是 Aurora 数据库,它同时兼容 PostgreSQL 与 MySQL. 他还指出,Hadoop 也好,Spark, Kafka 也罢,都在极力推动 SQL 接口来让更多的服务 API 暴露给程序员。

SQL 已死,NoSQL才是王道?醒醒吧,别瞎说八道了

从 A 厂产品的销量来说,企业比较青睐于这些有标准 SQL 接口的产品,而对于各类只能用编程语言,比如Java才能正常取数的产品,显得声音大,却雨点小,少有肯买帐的。

我举个 ElasticSearch 的例子,你感受下为什么 ES 的 DSL 会让人望而却步:

  1. POST crm_comment/_search 
  2. "size":0, 
  3.  “query":{ 
  4.  "term":{"accountName”:"apple"} 
  5.  }, 
  6. "aggs":{ 
  7. "count_over_time":{ 
  8. "date_histogram":{ 
  9. "field":"CREATED", 
  10. "interval":"month" 
  11.  }, 
  12. "aggs":{ 
  13. "sum_of_sales":{ 
  14. "sum":{"field":"salesamount"} 
  15.  } 
  16.  } 
  17.  } 
  18.  } 

当中一个括号少了,查询就运行不下去。一个 SQL, WHERE, GROUP BY 就能解决的问题,整出一堆 Json 表达式。你能看得下去?

再比如,我们存日志的 MongoDB, 它的官方语言是 javascript:

SQL 已死,NoSQL才是王道?醒醒吧,别瞎说八道了

看上去,这比 ElasticSearch 好看一些,每个字段都加了一个 $ 符号,请问为什么 total 就不用加呢?

原本这些数据(搜索用的 ElasticSearch, 日志用的 MongoDB)都存在 SQL 数据库中,使用 SQL 一劳永逸的搞定所有查询。但现在呢, 要花点时间熟悉 ES 和 MongoDB 的古怪语法了,还要搞清楚,数据在流转过程中,是否有丢失。带来的复杂度不仅仅是一点点。

什么,你说程序员不就是应该 996,拼命学的嘛?这是福报。嗯,这样的福报谁爱要,谁拿去,反正我不!

历史

让我们一起回忆下SQL关系型数据库的起源。这要追溯到IBM发表关系型数据库论文的那个年代,1970年。

1970时,关系型数据计算已经非常火热了。但这种关系运算的查询,只掌握在少数天才人的手里。普通人只能看着眼馋。来,一起领略下当时的关系运算:

SQL 已死,NoSQL才是王道?醒醒吧,别瞎说八道了

能看懂嘛?看懂举手,pingCAP,蚂蚁金服在召唤你!

事实证明,哪里有黑盒,那里就会产生魔法师。总有天才领袖为劳苦大众着想。Donald Chamberlin 和 Raymond Boyce 就是这样的天才!他们发明了 System R(关系型数据库原型),又在自然语言的研究方向上,发明了结构化英语查询语言(Structured English Query Lanuage, SEQUEL, 这也是为什么大家经常会把SQL读成 see-ku-er的原因), 后因商标之争,SEQUEL更名为 SQL. 那么SQL 相比上面的数学表达式有啥好处呢,感受下:

SQL 已死,NoSQL才是王道?醒醒吧,别瞎说八道了

前后两个运算都是在找出薪水比自己经理还高的那些员工。前者是关系数据表达式,只有数学大师才懂的符号;后者是 SQL 表达式,任何人在1星期绝对可以掌握的技术。

后来的事情,相信只要你不是00后,应该都有所耳闻了。IBM DB2, Oracle, SQL Server, MySQL 都如雨后春笋般的出来了,有了 System R 这般的磐石,有了 SQL 这代新型武器,各自造就了兵工厂,开疆扩土。战争一直打到现在。

如果不是因为 ARPANET 这位默默在墙角自习的好青年,恐怕拉里森这位Oracle家长还要嘚瑟个好多年。经过多年的沉寂修炼,ARPANET终于在我们这个时代成长成一个壮实的大小伙了。也就是今天的互联网!

来,见识下当年那一小撮默默地在加利福尼亚学习的小伙伴

SQL 已死,NoSQL才是王道?醒醒吧,别瞎说八道了

革命不成功,壮士不歇息。尽管有这么多人在兢兢业业的付出,但撼动关系型数据库的江山还远不够实力,不也到时候。直到这位哥们的出现。你看,任何历史性的转折都要依靠一位伟人来带动,说不定下一位就是你,努力吧,少年!

SQL 已死,NoSQL才是王道?醒醒吧,别瞎说八道了

这位 Tim 老兄在1989年,发明了万维网,一下子把数据的洪荒世界之门给打开了。数据以前所未有的体量和速度冲了进来。此时的关系型数据库也就慢慢有了吃力和老态的迹象。

历史再一次证明, 不被人胖揍,永远不知道自己几斤几两。

怪兽冲了进来,总要有奥特曼来对付吧。没错,这时候两位英雄人物出场了,一位是 Google, 一位是 Amazon. Google 的 MapReduce(2004)和 BigTable(2006),打破了分布式计算和存储的瓶颈。这两篇论文可以在后台,回复“1024”得到。A厂在整个云计算时代都有它的份儿,闪亮的光芒甚是耀眼。它的 Dynamo 数据库,采用了键值对存储,集合了各种眼花缭乱的云计算技术,号称能保障高可用服务。

磐石有了,兵工厂就不会远了。跟 SQL 的发展很像,之后很快各个公司就有了 Hadoop, Hive, Cassandra, MongoDB也玩起了 MapR. 又是一番你追我赶的厮杀,历史是何等的相像。

而这一波厮杀,不仅仅是在堂兄弟,表兄弟之间展开,还要去抢叔叔伯伯们的地盘。这不,蚂蚁金服的OceanBase前两天还动了一下Oracle大叔的地盘,抢掉了它2010年打下的TCP-C排行榜榜首的位置。

现实

年轻人始终有着一股子血气方刚,认为凭着自己年富力强,无所畏惧就要去动大人的奶酪。打仗光靠蛮力怎么可以。它还需要致胜的最本质基础,那就是群众的支持。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读