发布
社区首页 >问答首页 >Mongodb数据库设计

Mongodb数据库设计
EN

Database Administration用户
提问于 2016-05-04 08:07:59
回答 1查看 772关注 0票数 0

我计划在Mongodb中实现这个模式,我已经阅读了一些关于模式设计的内容,其概念是,每当您像关系数据库一样构造数据时,您肯定做错了什么。

我的问题:

  • 当集合大小超过16 do限制时,我应该做什么?在某些情况下,app_log在server_log集合中可能会超过16 is,这取决于服务器的繁忙程度。我知道我可以使用的帽子功能,但要求是存储所有的日志90天。
  • 你觉得我的设计有什么潜在的问题吗?
  • 让应用程序检查集合大小并按日/小时..etc创建新的集合以适应日志大小增长是一种良好的做法吗?

谢谢

EN

回答 1

Database Administration用户

回答已采纳

发布于 2016-08-01 05:43:36

16 MB是单个文档的最大大小,例如一个用户。

集合的大小仅受最大数据库的限制。

https://docs.mongodb.com/manual/reference/limits/

所以登录到数据库应该是没有问题的。在我看来,使用合理的indizes (包括_id )比使用一堆集合更好。

我不清楚您到底想要在数据库中存储什么,所以我不能对结构进行真正的评论。一般来说,有三种处理关系的方法:使用数组

  • 存储子文档或
  • 文档ids (您必须通过单独的数据库请求检索这些文档)
  • 通过为所有引用的文档提供一个包含父文档id的字段来反转该关系。

如果你给出更多的细节,很可能有人会给你一个更详细的答案。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/137466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档