gpt4 book ai didi

MongoDB 数据建模 : any drawbacks in using lots of databases?

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

我最近移动到 MongoDB 的网络应用程序后端部分,网络应用程序本身是一个验证工具,工作流程如下:

  • 用户上传一个文件(通常有数十万行)
  • 验证器检查它是否输出了大量消息(每行可能不止一条)
  • ...最后提供一些统计数据

我对我的应用程序建模,以便每个用户都有自己的数据库,其中包含:

  • 文件(通过 GridFS 保存)
  • 包含消息的集合(在某些情况下可能超过一百万行)
  • 带有统计数据的集合

我们有几百个用户,所以 MongoDB 最终会有几百个数据库

当然,我可以将所有数据保存在同一个数据库中,使用 namespace 将来自不同用户的数据分开。然而,我觉得在连接 URI 中发送数据库很方便,而且我发现发出“删除数据库”语句来清除用户比在大型数据库中搜索和删除其数据更直观。

我是 MongoDB 的新手,所以我的问题是:在同一个 MongoDB 实例中拥有多个数据库有什么缺点吗?或者有什么我应该特别考虑的问题吗?

最佳答案

我对 MongoDB 不是特别熟悉。通常,打开与数据库的连接是一个相对较慢的操作,并且会占用系统资源。我不能说这对你的情况是否足够重要。

为每个用户设置不同的数据库会使执行访问多个用户数据的查询变得困难。也许您不需要这样做。

不过,我认为一般来说,在每条记录中放置一个用户 ID 比创建一个单独的数据库要简单得多。单独的数据库有什么好处?好的,删除用户意味着说“删除数据库”。但是从单个数据库中删除用户应该意味着说“从 tableX 中删除用户=?;从 tableY 中删除用户=?”等等,无论你有多少相关的表格。我无法想象它是数百个,对吗?大概六行代码左右?

关于MongoDB 数据建模 : any drawbacks in using lots of databases?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15221236/

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