mongodb - 拥有多个 Mongo 数据库是否会对性能产生影响?
问题描述
我们目前正在使用 Mongo 开发一个应用程序,我们尝试评估与在多个数据库/集合上传播数据或使用单个共享的数据相关的每种不同架构选择的好处和限制。
在具有大量集合的单个数据库或每个数据库具有较少集合的多个数据库之间是否存在任何性能损失?
据我了解,它似乎没有任何影响,因为分片是按集合进行的,但我想要一些确认。
问候
解决方案
通过性能,我猜你的意思是读/写速度。使用具有较少集合的多个数据库肯定会提高您的读/写速度,因为每个数据库都可以处理与其关联的集合上的更多读/写操作。
但是,我相信以这种方式跨数据库传播数据会给您的项目带来额外的复杂性,这取决于您的代码库的结构,它可能会给您的应用程序逻辑带来复杂性,诸如备份和其他管理数据库操作之类的事情不会一帆风顺,对于存在于不同数据库中的集合的跨集合即席查询几乎是不可能的。
如果架构设计的目标是确保高读/写速度,您仍然可以使用可以在部署级别自动扩展的单个数据库。我对此了解不多,但我认为Replication是 MongoDB 的一项功能,可以帮助您实现这种自动缩放,如果您使用数据库即服务,您应该查看MongoDB Atlas,自动缩放是盒子外面。
推荐阅读
- electron - 为什么 Select2 不会覆盖 Electron 中的正常选择框?
- python - Pandas str.replace 完全匹配重复字符
- arrays - 从列表中随机选择值并从列表中删除该项目
- c# - 从 Azure Functions(c#)通过代理连接到 REST API
- c# - AutofacWebApiDependencyResolver 方法不存在
- python - 将一系列字符串转换为一系列 pandas Timestamp 对象
- c++ - 按下时将图像添加到按钮
- docker - Elasticsearch 和 kibana docker 映像无法正常工作
- snowflake-cloud-data-platform - 变体列中唯一元素的雪花查询性能
- coredns - CoreDNS 未进入就绪状态