关于SQL的几大谬论

2017-11-01    来源:互联网

容器云强势上线!快速搭建集群,上万Linux镜像随意使用


image.png 


LukasEderjOOQ母公司DataGeekeryGmbH的创建者兼首席执行官。关于SQL,他经常听到一些错误的观点,比如:SQL已经老化。我们为什么不使用更现代的技术?像汇编一样,SQL是低级语言。你是喜欢使用汇编还是Java呢?类似地,你是喜欢使用SQL还是Hibernate呢?近日,他发表了一篇博文,逐一反驳了类似的偏见和谬论。

谬论1SQL已经老化 
Lukas认为,许多人之所以认为SQL已经老化,是因为它是一项已经超过了30年的ISO/IEC标准,而且是以更为古老的关系代数学为基础。但他指出,知名网站UseTheIndex,Luke的作者MarkusWinand已经很好地展示了SQL这些年的发展。现代SQL已经可以做许多超出通用编程语言开发人员意料的事。

谬论2SQL是低级语言 
Lukas并不认为SQL是同汇编一样的低级语言。相反,他认为SQL是主流语言中最高级的,因为SQL是唯一真正流行的第四代编程语言。而且,SQL还是唯一真正流行的声明式编程语言。使用SQL,只需要告诉机器需要什么数据,如何获取这些数据则由查询分析器完成。

谬论3NoSQL更现代 
NoSQLSQL更现代”,Lukas认为,这是NoSQL数据库供应商的宣传之词。他指出,如果(层次化)的JSON数据存储就是现代的话,那么SQL并不落后。许多关系型数据库提供商都已经集成了JSON。而且,即使是对半结构化数据而言,SQL仍然是最好的查询和数据批处理语言。实际上,SQL就是针对SQL出现之前的混乱而设计的。关于这一点,感兴趣的读者可以阅读《Codd的关系型观点――NoSQL兜了个圈又回到了原点?》。现如今,许多大数据数据库提供商都押宝SQL作为查询语言,MarkMadsen已经在StrataConf大会上做了很好地展示。

谬论4:数据库不适合编写业务逻辑 
Lukas看来,这是最大的谬论,因为事实正好相反,数据库是进行统计运算的最佳之处。它有许多信息可以帮助运算,而且是在内存中进行。它还有约束、索引和其它各种元数据来帮助优化查询。这种优化使用纯Java代码可能是无法实现的。另外,这种方法还有一个巨大的优势,就是业务逻辑在一个地方实现,却可以供多个应用程序使用。
此外,Lukas还以窗口函数为例说明了SQL的简洁性,并指出,窗口函数及其它许多很棒的SQL特性自SQL2003起已经实现标准化,使用这些特性,无需担心被数据库供应商锁定。

最后,Lukas总结道: 


SQL能做的事比你知道的要多许多;

SQL比许多其它技术都要先进得多;

SQL是实现业务逻辑的理想之地。

Sql数据库服务器:https://www.west.cn/services/server/


标签: https 标准 大数据 大数据数据库 代码 服务器 数据库 网站

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:FTP服务器的相关介绍

下一篇:保障服务器稳定的6个机房设施