主页 >> 数据库 > MongoDB通读《权威指南》学习日记

2014/09/22 | 星期一 分类:数据库 | 没有评论 标签: | 作者: | 888 views

MongoDB通读《权威指南》学习日记

MongoDB 是面向文档的数据库,文档是一个抽象的概念,其具体的呈现形式取决于使用的驱动和编程语言(Binary JSON) BSON

  1. MongoDB 的”文档” document 相当于 MySql 的”行” row;
  2. MongoDB 的”集合” 可以看做是没有模式的表;.
  3. MongoDB 的每个文档都有一个特殊的键”_id” 它在所有的集合中是唯一的。

#Win 下运行 mongo 命令:先进入mongo安装目录;
mongod –dbpath = d:\data\db

.使用find 或者 findOne 函数和查询文档对数据执行查询;
.使用 $ 条件查询实现范围,计划包含,不等式和其他查询;.
.有些查询用查询文档,甚至 $ 条件语句都不能表达,对于此类复杂的查询使用 $where 字句,用强大的JavaScript 来表达;
.查询返回一个数据库游标,游标只有在你需要的时候才会惰性地批量返回;
.还有很多针对游标执行的元操作,包括忽略一定数量的结果,或者限定返回结果,还有对结果排序。

GridFS 存储文件
通过数据库命令使用高级特性,使用一种特殊的集合,固定大小的集合使用GridFS存储大文件;利用MongoDB对服务器JavaScript的支持理解何为数据库引用,何时使用。

#获取运行中MongoDB 服务器统计信息
db.runCommand({“serverStatus”:1})

#backup MongoDB 数据库 paddy (文件默认保存在mongoDB安装目录下)
mongodump -d paddy -o backup
#还原数据库 paddy to paddyok
mongorestore -d paddyok –drop backup/paddy/

#搭配 master slave mongoDB 主从配置
mongo –dbpath=d:\data\db –port 27017 –master
mongo –dbpath=d:\data\slaves –port 27018 –slave –source localhost:27017

#MongoDB 诊断,复制
db.printReplicationInfo();
db.printSlaveReplicationInfo();

MongoDB 默认的存储引擎是内存映射引擎,当服务器启动后,将所有的数据文件映射到内存,然后由操作系统来负责将缓冲数据写入磁盘并将数据调入调出内存页面;

  1. MongoDB管理内存的代码非常精炼,原因就是将大部分的工作推给了操作系统;
  2. MongoDB服务器进程的虚拟大小通常非常大,超过整个数据集的大小,这没关系,操作系统会处理让那些数据常驻内存;
  3. MongoDB不能控制数据库写入到磁盘的顺序,也就是不能用预写日记提供单机的持久性;
  4. MongoDB数据库在32机器智能处理2GB数据;.

PS:通读一本数MongoDB的书,有点乱,有兴趣的就把它记录下来写入到日记,往后细读的时候再细写日记。

  • 本文目前尚无任何评论.
    1. 本文目前尚无任何 trackbacks 和 pingbacks.