深入浅出MongoDB(一)NoSQL
深入浅出MongoDB(一)NoSQL
从本文开始,我们一起学习一下MongoDB相关内容,在学习MongoDB之前,首先要做的就是学习NoSQL。
为什么要学习NoSQL,原因很简单,因为MongoDB是NoSQL数据库的一种,换言之,如果NoSQL是一种数据库设计标准,那么MongoDB就是这种标准的一种实现,所以了解NoSQL能够让我们更深入的了解MongoDB。
1、什么是NoSQL
NoSQL是Not Only SQL的缩写,简单翻译就是非关系型数据库,意反SQL运动,是一项全新的数据库易做图性运动,NoSQL提倡运用非关系型的数据存储。
2、NoSQL出现的原因
NoSQL的概念很早就有人提出,发展至2009年趋势越发高涨,原因有两方面:
一方面是随着web2.0的兴起,关系型数据库本身无法克服的缺陷表现的越来越明显,主要表现在:
1、High performance - 对数据库高并发读写的需求
2、Huge Storage - 对海量数据的高效率存储和访问的需求
3、High Scalability && High Availability- 对数据库的高可扩展性和高可用性的需求
另一方面,对于web2.0网站来说,关系数据库的很多特性越来越显得无足轻重,主要表现在:
1、数据库事务一致性需求
2、数据库的写实时性和读实时性需求
3、对复杂的SQL查询,特别是多表关联查询的需求
正式由于上述原因,NoSQL近年来发展的越来越快,尽管随着web2.0的出现关系型数据库的瓶颈越来越明显,但并不意味着关系型数据库就会退出历史的舞台。对于程序员而言,没有必要绝对的判定孰优孰劣,在实际的应用中选择合适的数据库才是最重要的。
3、NoSQL的优缺点
上面我们已经了解了NoSQL发展如此迅速的原因,接下来我们看一下Nosql的优势,主要体现在下面几点:
1、简单的扩展
2、快速的读写
3、低廉的成本
任何事物都有其优点和缺点,NoSQL也不例外,NoSQL也存在着很多的不足,主要体现在下面几点:
1. 不提供对SQL的支持
2. 支持的特性不够丰富
3. 现有产品的不够成熟
到此为止,相信你已经对NoSQL有了一个简单的了解,本篇文章的概念性比较重,讲解的也不够详尽,只需要大家简单了解一下就好,接下来我们重点学习一下MongoDB数据库。敬请关注!