gpt4 book ai didi

mongodb - 将数据建模为单个集合还是单独的集合更好?

转载 作者:可可西里 更新时间:2023-11-01 09:13:14 26 4
gpt4 key购买 nike

举个例子,想象一个简单的“帮助台”类型的应用程序,其中有支持票,并且该应用程序支持多家公司登录和管理他们的票证。

鉴于公司之间不会相互交互“门票”......

是拥有一个“票”集合并进行查询更好,还是为每个公司创建票集合更好?

最佳答案

这里有几件事需要考虑。

首先是空间的预分配。您会在 mongodb-user 组中发现几个线程,其中 OP 对为什么他们的数据库占用如此多的空间而他们的数据占用的空间如此之少感到困惑。这是因为当您在集合中达到某个预分配点时,它会默认创建大小为 2GB 的文件,即使您只使用了该空间的 100 兆。

现在想象一下 1000 家公司的这种预分配模式;这很快会导致磁盘空间使用效率低下,并且在大多数线程中会导致性能和成本问题。

这里要考虑的第二件事是 nssize,最大为 2GB。这可能看起来很疯狂,但如果您确实拥有超过 300 万成员(member)(假设一家公司是“注册用户”)怎么办?您将很快用完 MongoDB 可以提供的最大命名空间文件大小。

此外,如果不将它们拆分到单独的数据库中,您将无法从锁定(在数据库级别)中获益,这当然会在维护每个公司的数据库连接时产生操作开销。

MongoDB 通常设计为通过集群进行扩展,而不是垂直扩展,而垂直扩展通常被认为对于大型网站来说不是一个好主意。

关于mongodb - 将数据建模为单个集合还是单独的集合更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15913628/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com