gpt4 book ai didi

Mongodb 单一数据库 vs 每个客户端的集合 vs 每个客户端的数据库

转载 作者:可可西里 更新时间:2023-11-01 09:37:45 25 4
gpt4 key购买 nike

我想使用 mongodb 和 lithium 构建一个网络服务。什么更好:

  • 将所有客户的数据存储在一个集合中(例如多个客户的所有交易文档在一个集合交易中)

  • 创建多个集合,例如transactions_client1、transactions_client2 等

  • 每个客户端一个 db

系统必须是可扩展的并且必须易于部署

最佳答案

要提供方向,您必须确切地了解更多您想要实现的目标。

但是,我会排除选项 2(多个集合),因为我没有真正看到这种方法的任何优点:您必须在运行时确定集合名称,编写起来有点棘手您的查询,并且您可以拥有的集合数量有硬性限制(大约 150 万个集合,2GB namespace file)

选项 1 有助于隔离客户端并可能提高安全性,但在选择数据库时仍然存在编程错误的风险。但是,隔离该代码很容易。

这两个选项都有一个缺点,即您无法跨所有集合进行查询。但是,您总是希望能够访问一些本质上在所有客户端之间共享的集合(例如日志、统计信息等),因此您需要承担分离这些的额外负担。

这就是为什么我通常选择选项 1 的原因。

关于Mongodb 单一数据库 vs 每个客户端的集合 vs 每个客户端的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8307676/

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