相关疑难解决方法(0)

在MongoDB中拥有大量集合(需要架构设计建议)

我正在考虑使用MongoDB来保存从100台摄像机录制的图像元数据,并且每台摄像机的记录将保留30天.如果一台摄像机每天提供100,000张图像,那么我将在MongoDB中以最大值保存(100 x 30 x 100000)个图像(文档).我的Web应用程序将查询此数据为:

选择摄像机>选择日期>选择小时>获取该小时内的所有图像.

我计划用以下三个选项设计模式,并需要您的专家意见/建议以获得最佳出路;

1)按小时收集:创建72000个MongoDB集合,即每个摄像机每小时收集1个(100个摄像机X 30天X 24小时)(使用--nssize 500命令超过24000个限制).我担心如果MongoDB允许我创建这么多的集合,其次是在阅读和写入这些集合时预期的性能优势和损失.虽然,对于每小时读取图像看起来非常容易使用此模式,因为我可以在单个查询中将数据提取到任何集合.

2)日常收藏:创建3000个MongoDB收藏,即每个摄像机每天1个收集(100个摄像机X 30天).虽然这是允许的,并且看起来收集的数量很多,但我关心的是从特定日期内的特定时间内阅读图像.

3)逐照摄像机集合:创建100个MongoDB集合,即每个摄像机1个集合(100个摄像机/集合).然后以(20141122061055000)格式保存具有唯一"id"的快照,这是对完整日期时间戳的重新描述(2014-11-22 06:10:55.000).

我希望,如果理想情况下我可以做(1),(2)或(3),但欢迎任何其他选择.

考虑到我的情况,请建议我对MongoDB的选择.

问候.

mongodb nosql

2
推荐指数
1
解决办法
5104
查看次数

标签 统计

mongodb ×1

nosql ×1