MongoDB 简介-1
     由于项目的需要,每次都去数据库中查询 域名对应的用户资料,速度上感觉很慢,所以决定采用MongoDB 做缓存层使用,于是简单了解一下MongoDB 
 bson
 1.以空间换时间,查询和索引效率快
 2.采用bson存储,上层的操作语言可以任意的转换,如果采用json的话,则平台更换语言比较麻烦,如果采用php存储json 那么查询则只能用php
 3.bosn 提供了一些json的扩展,可以存储任意类型的json的数据,但是一个有效的bson文档不一定对json有效. 
 2.支持动态查询
   动态查询 就是在查询之前必须将表结构定义好,例如RDBMS关系型数据库,必须将数据库和表结构都建好才允许查询,而动态查询则不需要
 3.索引文档
   MongDB会自动索引文档 根据_id key
   自动索引则 value 也不允许重复,这点是关系型数据库没有的。允许value重复或者不重复 是可以选择的
    可以索引文档,或是具体的某一列
    支持符合索引
 4.更新数据在原地
   不支持关系型数据库的mvcc 数据的多个拷贝 ,in-place
   支持延时写入    
 5.存储2进制数据
   GirdFS是MongDB 用来存储2进制数据的方式
   BSON 支持存储4M 的2进制文档	
   GirdFS 存储一个文件是以文件集合的形式,将一个大的文件划分成很多的chunks,被存储在chunks集合中   
 6.数据复制
   master-slave replication.  
   master 和slave 自动决定哪一个是master ,  
 7.执行分片
   两种不同的分片类型,自动和手动
   手动:两个MongDB server,各存储一半的数据,必须对数据的路径负责,运行查询的时候必须从两个机器里拉取数据,非常复杂的   
 8.bin 目录内应用                                                   
   bin/
    --mongo     允许使用数据库shell命令
    --mongod    启动数据库,启动的时候可以设置 flags   --dbpath 指定路径 --version 指定版本
    --mongos
    --mongodump
    --mongorestore    
    最重要的是mongo和mongod    
    if you attempt to connect to a database that does not exist, MongoDB will automatically create it for you
    如果你尝试着连接一个不存在的数据库,则mongodb 自动为你该数据库    
    show dbs
    show collections
    show users
    use <db name>  
 9.MongoDB 几个 collection 
   MongoDB  的集合相当于 mysql 中的表 ,集合里面存储的文档相当于mysql 中的行
   collection 集合的名字 最大不能超过128个字符   
 10.文档 Documents
   MongoDB stores its data in BSON format