SQL和NOSQL有区别吗?
在大数据高速发展的今天,数据量在不断的增加,传统的数据库可能不能满足人们的需求了,这个时候新霸哥注意到了NOSQL出现了可以解决这个问题。我们知道sql数据库可以存储数据和处理数据,但是NOSQL最大的一个优势就是在大数据这方面,能够深度处理大数据,分析数据,从大量的数据中获取有用的资源。
新霸哥发现关系型数据库本身基于关系代数的数学理论,是很好的抽象,但是nosql的抽象没有太多的数学基础,数学总是不会过时的。从计算机本身来说,关系型数据库的存储也是随着机械硬盘的兴起而发展的,关系型数据库对数据块的处理,比现在最流行的nosql强很多,而且由于约束的存在,存储效率很高,根本不是那些nosql能比的。这一点新霸哥很佩服。
在云计算高速发展的今天,云计算兼具SQL和NoSQL数据库的益处。云环境中的关系型存储通常是以服务形式提供的,是可复制、高可用性且分布式的,极大地提高了横向扩展能力。同时托管于云服务中的NoSQL数据库也天然享有自动分片的好处,能够阶段性地灵活弹性处理,集成高速缓存和巨大的计算能力来捕获、存储和分析大数据。

数据量很少的情况下,就不用考虑性能了,分布式什么都不用考虑了,新霸哥也注意到了NoSQL在这种情况下最大的劣势就是没有schema。
NoSQL不会取代RDBMS,可能很多人会有疑问,RDBMS比如说MySQL通过sharding可以做到NoSQL所能做的一切,除此之外RDBMS有schema(也可以设计成schemaless),支持SQL,健壮的ACID。一般来说,现在的RDBMS完全可以做NoSQL所有可以做的事情,反过来就不是这样了。举个非常形象的例子,要在MySQL上加一层key-value接口不难,如果要在任何NoSQL上加能和MySQL匹敌的Query Optimizer和Transaction support不是件简单的事情。
NoSQL想解决的问题RDBMS都能解决,它的理念会被融入到RDBMS中,其实在实际应用中真正适合NoSQL应用的场景只是cache。
新霸哥发现SQL数据库大多数比较昂贵,但是NoSQL数据库通常都是开源的。事实上,两种类型数据库都有开源的和商业的。常见的SQL 数据库有微软公司的SQL Server,MySQL,SQLite,Oracle和PostGres。现在非常流行的NoSQL数据库有Couchbase,MongoDB,Redis,BigTable和RavenDB。这也是现在比较主流的数据存储方式。
其实无论是SQL还是NOSQL最重要的还是能够根据实际的情况来选择,这样才能够充分的利用资源。爱好大数据的朋友可以关注新霸哥。
SQL和NOSQL有区别吗?的更多相关文章
- 数据库 --> SQL 和 NoSQL 的区别
SQL 和 NoSQL 的区别 一.概念 SQL (Structured Query Language) 数据库,指关系型数据库.主要代表:SQL Server,Oracle,MySQL(开源), ...
- SQL 和 NoSQL 的区别
一.概念 SQL (Structured Query Language) 数据库,指关系型数据库.主要代表:SQL Server,Oracle,MySQL(开源),PostgreSQL(开源). No ...
- SQL和NoSQL的区别
一.概念 SQL (Structured Query Language) 数据库,指关系型数据库.主要代表:SQL Server,Oracle,MySQL(开源),PostgreSQL(开源). No ...
- SQL 和 NoSQL 比较
定义: SQL (Structured Query Language) 数据库,指关系型数据库.主要代表:SQL Server,Oracle,MySQL(开源),PostgreSQL(开源). NoS ...
- 技术分享|SQL和 NoSQL数据库之间的差异:MySQL(VS)MongoDB
在当今市场上,存在各种类型的数据库,选择适合你业务类型的数据库对应用的开发和维护有着重要意义.本篇文章,将为大家分享SQL和NoSQL语言之间的区别,同时还将比较这两种类型的数据库,以帮助小伙伴们选择 ...
- 如何向小姐姐解释SQL和NoSQL之间的区别
最近,在Medium上出现了一个采访问题:如何向奶奶解释SQL和NoSQL之间的区别.我认为作者使用自己的结构化家谱来比较sql和nosql之间的差异.写作非常好,但是有点尴尬.面试官没有时间听你的话 ...
- SQL与NoSQL(关系型与非关系型)数据库的区别
永远正确的经典答案依然是:具体问题具体分析. 数据表VS.数据集 关系型和非关系型数据库的主要差异是数据存储的方式.关系型数据天然就是表格式的,因此存储在数据表的行和列中.数据表可以彼此关联协作存储, ...
- SQL与NoSQL区别--商业SQL数据库衰落--oracle面临困境
转自:商用数据库之死:Oracle 面临困境 这二十年来,商业数据库市场仍然是 IT 行业最稳定.最具黏性的领域之一,Oracle.IBM 和微软三家厂商瓜分了 80% 的份额.然而,我们认为这个领域 ...
- SQL VS NoSQL
(关系型与非关系型)数据库的区别: 关系型和非关系型数据库的主要差异是数据存储的方式 1.1 数据表 VS 数据集 关系型数据天然就是表格式的,因此存储在数据表的行和列中.数据表可以彼此关联协作存储, ...
随机推荐
- Hadoop系列
http://www.cnblogs.com/xia520pi/archive/2012/04/08/2437875.html#2925129 hadoop提供了一个可靠的共享存储和分析系统.HDFS ...
- 求1+2+…+n,要求不能使用乘除法、for、while、if、else、s witch、case 等关键字以及条件判断语句(A?B:C)和不用循环/goto/递归输出1~100的10种写法
来源:据说是某一年某个公司的面试题 题目:求1+2+…+n, 要求不能使用乘除法.for.while.if.else.s witch.case 等关键字以及条件判断语句(A?B:C) 分析:这题本来很 ...
- Android NDK 和 OpenCV 整合开发总结(3)
Android NDK 和 OpenCV 整合开发总结(3) http://hujiaweibujidao.github.io/blog/2013/11/18/android-ndk-and-open ...
- Test Tools
1. http://www.dummytextgenerator.com/: Generate dummy text 2. fsutil file createnew D:\New.txt 1024: ...
- rqnoj-106-最大加权矩形-dp
和我之前做的那个切西瓜的题目相比就是小巫见大巫了.. 运用最长字段和的原理把O(n^4)转化成O(n^3) #include<stdio.h> #include<string.h&g ...
- win8找到程序员计算器
最近想用计算器的十进制和十六进制转化的功能,发现win8没有开始菜单了,从网上查了查,原来指令如此简单,特此做笔记,谨防忘记! 操作:win+r打开运行,输入calc,确定就出来了!
- android 更改avd路径
第一种方法,适合还没有建立 AVD 的情况 即:在计算机右击的属性 选择环境变量,然后添加一个用户的环境变量,名字为 "ANDROID_SDK_HOME”,然后把变量值改为你想将" ...
- HDU 4651 Partition(整数拆分)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4651 题意:给出n.求其整数拆分的方案数. i64 f[N]; void init(){ f[0 ...
- Oracle EBS 寄售业务总结
总述: 须通过一揽子采购协议(BPA)明确采购方与供应商之间的寄售关系,及各种协议条款: 通过来源补充规则(Sourcing Rules)明确物料的供应商以及分配规则: 通过合格供应商列表(ASL)明 ...
- 《OD学Flume》20160806Flume和Kafka
一.Flume http://flume.apache.org/FlumeUserGuide.html Flume是一个分布式的,可靠的,可用的,非常有效率的对大数据量的日志数据进行收集.聚集.移动信 ...