首页 > 代码库 > MonGoDB学习笔记
MonGoDB学习笔记
1. MongoDB是一个使用c++编写的、开源的、面向文档(不是面向关系的)的No Sql(not only sql)数据库,也是当前最热门的NoSql数据库之一。
2. MongoDB往里面加的不是结构化的数据(表结构,预先定义好的表结构),而是由每条数据自己来描述,它把它包装成一个类似于json的格式,叫bson,这个就是从json扩展来的,包装成这样{"uuid":1,"userid":"u1"} key:value,这个在MongoDB中叫做文档,面向文档的意思就是这个。
3.NoSql简介
NoSql的意思是不仅仅是sql,是目前流行的“非关系型数据库”的统称。常见的NoSql数据库如:Redis、CouchDB、MongoDB、HBase、Cassandra
4. {"uuid":1,"userid":"u1"}这样可以,{"uuid":1,"userid":"u1","name":"ansong"}这样也可以,在nosql中很随意。
5.对数据库高并发读写的需求,对海量数据的高效率存储和访问的需求,对数据库的高可扩展性和高可用性的需求
6.CAP定理,布鲁尔定理,分布式系统不能同时满足以下三点:强一致,可用性,分区容错性
7.nosql优点:①扩展简单方便,尤其是水平横向扩展(纵向扩展指:更强的机器;横向:数据分散到多台机器),②读写快速高效,多数会映射到内存操作③成本低廉,用普通机器,分布式集群就好④数据模型灵活,没有固定的数据模型
8.缺点:不支持sql,现有产品(09开始)不成熟稳定,功能还有待加强
9.MongoDB只是nosql的一种,面向文档,高性能,易于使用扩展 ,面向集合存储,模式自由,支持动态查询,支持Js表达式查询,支持索引,支持副本集复制和自动故障恢复,支持自动处理分片,支持二进制和大型对象数据,支持存储格式为Bson(json的扩展)
10.
MonGoDB学习笔记