SQL与NoSQL

来源:互联网 发布:yii2.0源码分析 编辑:程序博客网 时间:2024/04/30 18:58

关系型数据库的核心就是SQL,也就是关系,有很严谨的数学基础-关系代数,能很好的呈现现实世界的复杂联系。

最重要的特性就是对事务的支持,也就是ACID,这是由Jim Gray提出的,他因此荣获1998年度的图灵奖

这种数据库,比较适合传统的企业,以及电商公司,也就是交易型。


NoSQL,存储的是key-value对,存储模型相对简单,容易扩展,比较适合简单的业务。

把任务分解,发往各台服务器,然后个台服务器之间通过分布式文件系统共享数据,底层通过一个存储结构来存储数据,这样就能适应并发量和IO的高要求。

 对于有超大量并发的网站,比如facebook,就很适合,当然有这么大并发量的公司,全世界也没几个。


前天去面试,那个公司之前用的mongodb,他们说会有丢数的问题,今天上网查了一下,还真能查到不少丢数的问题。看来这是一个普遍的问题,说明mongodb在这方面还需要不断的改进,否则,就只能用于一般的互联网方面,不太适合对数据质量和安全要求较高的业务。


另外,之前看了一些DB2的资料,里面提到DB2的一个重要特性DPF,就是数据库分区特性。一个数据库中的某个表可能超大,通过这个特性,能实现把这个表的数据自动水平分布到多台服务器,多台服务器之间通过网络文件系统来共享数据,当然,底层的数据结构,还是采用B树实现。

 

下面是一个访谈,写的非常好:38期:NoSQL专家王涛访谈:为什么我们还要做一个NoSQL?

ITPUB名人堂第38期:NoSQL专家王涛访谈:为什么我们还要做一个NoSQL?

http://www.itpub.net/thread-1812251-1-1.html


原创粉丝点击