gpt4 book ai didi

mongodb - 当您在 MongoDB 中管理独立的事物集时,使用多个数据库是否更好?

转载 作者:可可西里 更新时间:2023-11-01 09:56:52 24 4
gpt4 key购买 nike

例如,如果您有一个使用 MongoDB 存储数据的博客网站

每个博主都有一个数据库更好吗?鉴于他们的博客和评论完全独立于其他博客。还是把所有东西都混在一起?还是没有太大区别?

我想象所有博主都使用同一个网络应用程序(不是每个博主的独立网站/网址)。因此,当有人登录/访问博客时,代码会找到合适的数据库来使用并从中提取数据。

这有什么缺点吗?处理这些事情是正常的吗?

最佳答案

我对您的需求做了很多假设。但是,通常,在 MongoDB 中有 3 条通往 Multi-Tenancy 应用程序的路径:

每个客户一个集合;永远、永远不要这样做。

每个客户一个数据库。好的。如果您的产品采用免费增值模式,您将牺牲免费空间。无论哪种方式,您都希望使用“smallfiles”选项运行。如前所述,您将为您的环境构建路由系统。因此,您需要为正确的客户连接到正确的数据库。

每个文档的 customer_id 键 + 路径 slug。好的。这里的权衡是恢复可用空间。传统上,MongoDB 不会恢复已删除文档使用的空间。因此,客户创建和删除博客文章会产生未使用的空间。通过使用“usePowerOf2Sizes”集合,您将恢复已删除文档的磁盘空间。但是,“usePowerOf2Sizes”会产生膨胀的填充空间。

要克服磁盘空间填充,请查看此处使用的压缩:http://blog.appsignal.com/blog/2013/07/30/taming-mongodb-disk-usage.html

回顾一下,我建议使用 customer_id 加上压缩。它让您两全其美。

关于mongodb - 当您在 MongoDB 中管理独立的事物集时,使用多个数据库是否更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18222630/

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