MongoDB的内部构造 From 《MongoDB The Definitive Guide》
http://www.cnblogs.com/gpcuster/archive/2010/10/04/1841877.html
MongoDB——通过客户端理解mongoDB体系结构
http://blog.csdn.net/liusong0605/article/details/10611895
MongoDB内存使用原理
http://www.searchdatabase.com.cn/showcontent_51990.htm
日期:mongodb的日期不包含时区。日期对象 new Date(),日期字符串 Date(…)
json仅包含6中数据类型:(null,布尔,数字,字符串,数组,对象)
局限:1)没有日期类型 2)只有一种数字类型,无法区分浮点数和整数,更别说区分32位和64位数字 3)不能表示其他通用类型,比如,正则表达式
BSON:
1)由mongoDB生态系统里所有驱动程序、工具、进程共享的文档
2)是一种轻量的二进制格式,可用一串字节来描述任何mongodb文档,是文档存放于磁盘上的格式
3)驱动程序在使用文档进行增删改查等操作时,会先将文档编码成BSON格式,然后发送给服务器。服务器将文档返回给客户端时,也是以BSON格式进行的,驱动程序会先对此BSON数据进行解码,然后再发送给客户端
4)优点:高效: 可遍历性:以空间效率为代价,使自身更容易遍历;例如,字符串值会被加上一个前缀用以表示长度,而不是依赖于终止符号来 判断字符的结尾 高性能:可快速进行编码和解码,因为它使用类C类型表示,这在大部分语言中可快速运行
4、ObjectId的12字节按照如下方式生成:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11
时间戳(s) | 机器(hash) | PID | 计数器
ObjectId,是由12字节,每个字节是2位十六进制数字,总共是一个24位的字符串。
其中0-3字节是时间戳(单位秒),4-6字节是主机名散列值,7-8字节是PID(进程标识符,确保每个进程的ObjectId不同),9-11字节是计数器(确保同一进程的同一秒产生的ObjectId不同,最大值256的3次方)。
_id可以由Mongodb服务器来完成,但是一般会在客户端由驱动程序完成,因为在客户端完成可以减少服务器的开销,将事务交给客户端来做,就减轻了数据库扩展的负担。并且在客户端生产的ObjectId,驱动程序能提供更加丰富的,由自己扩展的API。
5、用户主目录
6、插入校验:
1)检查文档大小:所有文档都必须小于16M(防止不良的模式设计,保证性能一致)
2)检查_id字段
7、常用命令