【问题标题】:MongoDB database architecture [closed]MongoDB数据库架构[关闭]
【发布时间】:2012-04-14 11:07:51
【问题描述】:

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

我正在尝试了解 MongoDB 如何存储和检索文档。如果它都在内存中等等。

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

任何指针都会有所帮助。

【问题讨论】:

  • 我不能声称自己是专家,但它肯定会写入磁盘(不确定何时/多久/是否总是刷新/是否可以显式刷新)。事实上,它占用了相当多的空间(我猜可能会做它的索引)
  • 作为一个一般性的、非常全面的比较,我在它与传统关系数据库(如 Oracle 或 MS SQL Server 或 MySQL)之间听到的最大论点是事务性/可靠性与极端性之一规模。如果您的某些数据被丢弃,您不会在晚上失眠,那么像 Mongo 这样的 NoSQL 选项非常高效,并且可以扩展到 很多 个并发用户。如果您需要保证您的数据,那么现在您最好还是坚持使用事务性数据库。
  • 这个问题可能比关于 SO 的问题指南规定的要广泛一些。我建议您访问 mongodb 文档并阅读他们提供的材料。特别感兴趣的是:mongodb.org/display/DOCS/Architecture+and+Components、mongodb.org/display/DOCS/SQL+to+Mongo+Mapping+Chart、mongodb.org/display/DOCS/Production+Notes 我希望这会有所帮助。
  • @marr75 我已经看过你提到的文件了。可悲的是,他们没有提供我正在寻找的细节。比如我可以找到很多关于oracle数据库的文件和存储结构的文档。这就是我正在看的。我不明白为什么这样的帖子被否决了。
  • 我没有否决你,但我确实投票认为它对 SO 来说太宽泛了。这是一种自我清洁机制。 SO 问题应该得到快速、永久和明确的回答(无论如何这就是目标),并且对于广泛的主题,很难做到这 3 个中的任何一个。我对 oracle 数据库的体系结构知之甚少,因此它可能不会发生我要指出的是,在 mongo 中,集合中的文档存储在增量增长的文件中,后缀编号与命名空间文件一起。 (这对于文档数据库来说是独一无二的,我在这种情况下可以识别)。

标签: mongodb architecture database-design


【解决方案1】:

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

【讨论】:

  • 感谢您的信息。我实际上正在寻找有关您答案的信息。获得类似的细节会很棒。您能指出任何具有 MongoDB 内部设计/架构等的在线资源吗?
  • 复制用于读取/查询扩展(不仅仅是备份)。
  • 您认为这回答了您的问题还是您需要更多帮助?
  • @gregor 是的,我需要一些具体信息,但还没有找到。
  • mongodb.org/display/DOCS/Caching - 实际上与缓存无关,与 mongo 如何处理内存、一些内存开销等有关。mongodb.org/display/DOCS/Durability+Internals - 日记的内部结构(耐用性)slideshare.net/mdirolf/… - 最佳到目前为止我发现的内部结构概述
猜你喜欢
  • 2015-12-28
  • 2020-05-24
  • 2019-03-25
  • 1970-01-01
  • 2012-12-11
  • 2012-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多