NoSql--Mongodb简介
NoSQL (NoSQL = Not Only SQL ),意即不仅仅是SQL; 指的是非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型
NoSQL
(NoSQL = Not Only SQL ),意即“不仅仅是SQL;
指的是非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。
为什么是NoSql
1 对数据库高并发读写的需求
2 对海量数据的高效率存储和访问需求
3 对数据库的高可扩展星和高可用性的需求
NoSql特点
它们可以处理超大量的数据。
它们运行在便宜的PC服务器集群上。
它们击碎了性能瓶颈。
没有过多的操作
Bootstrap支持
因为NoSQL项目都是开源的,因此它们缺乏供应商提供的正式支持。这一点它们与大多数开源项目一样,不得不从社区中寻求支持。
优点:
易扩展
大数据量,高性能
灵活性数据模型
NoSQL无需事先为要存储的数据建立字段,随时可以存储自定义的数据格式。而在关系数据库里,增删字段是一件非常麻烦的事情。如果是非常大数据量的表,增加字段简直就是一个噩梦。这点在大数据量的web2.0时代尤其明显。
高可用
缺点:
没有正式的官方支持。
产品层出不穷,并准不定。
以下是NoSql的一些产品截图
初始Mongodb
是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的
数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型.
1 面向集合
2 模式*
意味着存储在MOngodb数据库中的文件,我们不需求知道它的任何结构定义。"无模式"是什么概念呢?例如:下面的两个记录可以存在于同一个集合里面:
{"welcome":"beijing"} {"age":25}
怎么样,是不是很像前面学习过的json数据格式呀。也是想c++中的结构体吧。
所以这个学习相同的地方还是有很多的
3 文档型
意思是我们存储的数据类型是键--值对的集合,键是字符串,值可以是数据类型集合里的任务类型,包括数组和文档,我们把这个数据格式称为“BSON”是“Binary serialized Document Notation
"
下面介绍特点和使用场合。
特点:
这里就只说上诉没有提到的
模式*
面向集合
支持查询
使用高效的二进制数据存储
自动处理碎片
可通过网络访问
适用场合:
网站数据:Mongodb非常适用于适时的插入,更新域查询,并具备实时数据存储所需要的复制及高度伸缩性
缓存:
用于对象及json数据的存储。
以上是Nosql的基本简介。可以看到针对其中的Mongodb的操作以及数据的存储。与Js的Json是没有区别的。而Mongodb的数据操作语法极其类似与SQl。所以这就是老师说的,学习的相通行。
上一篇: 网络判断
下一篇: [转载]java中static的作用