ynh*_*ynh 5 mongodb lithium
我想使用 mongodb 和锂构建一个网络服务。什么是更好的:
将所有客户端的数据存储在一个集合中(例如,多个客户端的所有交易文档都存储在一个集合中)
创建多个集合,例如 transactions_client1、transaction_client2 等。
每个客户一个数据库
系统必须是可扩展的并且必须易于部署
mne*_*syn 4
为了提供方向,人们必须更准确地了解你想要实现的目标。
但是,我会排除选项 2(多个集合),因为我并没有真正看到这种方法的任何优点:您必须在运行时确定集合名称,编写查询和您可以拥有的集合数量有严格限制(大约 150 万个集合和 2GB命名空间文件)
选项 1 可以帮助隔离客户端并可能提高安全性,但在选择数据库时仍然存在编程错误的风险。然而,隔离该代码很容易。
这两个选项都有一个缺点,即您无法跨所有集合进行查询。然而,您总是希望能够访问一些基本上在所有客户端之间共享的集合(例如日志、统计数据等),因此您需要承担分离这些集合的额外负担。
这就是为什么我通常会选择选项 1。
归档时间:
13 年,9 月 前
查看次数:
1809 次
最近记录: