日期:2014-05-16  浏览次数:20410 次

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