MongoDB数据库架构

Ayu*_*man 12 architecture database-design mongodb

我想更多地了解MongoDB的系统和数据库架构.

我试图了解MongoDB如何存储和检索文档.如果它全部在记忆中等.

MongoDB和Oracle之间的比较分析将是一个奖励,但我主要关注的是理解MongoDB架构本身.

任何指针都会有所帮助.

gea*_*kie 19

MongoDB内存映射数据库文件.它允许操作系统控制它并将最大量的RAM分配给内存映射.当MongoDB从DB更新和读取时,它正在读取和写入RAM.数据库中文档的所有索引也都保存在RAM中.RAM中的文件每60秒刷新一次.为防止电源故障时数据丢失,默认设置是在日志记录打开的情况下运行.日志文件每100毫秒刷新到磁盘,如果有电源丢失,则使数据库恢复到一致状态.使用mongo的一个重要设计决定是RAM的数量.你需要弄清楚你的工作集大小 - 也就是说,如果你要只读取和写入数据库中最近10%的数据,那么这10%是你的工作集,应该保存在内存中以获得最佳性能.因此,如果你的工作集是10GB,你将获得10GB的最大性能 - 否则你的查询/更新会因为内存页从磁盘分页到内存而运行得更慢.mongoDB的其他重要方面是备份复制和缩放分片.有很多很棒的在线学习资源.MongoDB是免费的和开源的.

编辑:查看教程http://www.mongodb.org/display/DOCS/Tutorial 和手册 http://www.mongodb.org/display/DOCS/Manual是个好主意, 管理区也很有用 http://www.mongodb.org/display/DOCS/Admin+Zone 如果您厌倦了阅读,那么演示文稿值得一试. http://www.10gen.com/presentations