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