MongoDB数据库架构

时间:2012-03-30 18:25:22

标签: mongodb architecture database-design

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

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

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

任何指针都会有所帮助。

1 个答案:

答案 0 :(得分: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