MongoDB最佳实践结构

时间:2014-08-27 08:22:47

标签: mongodb performance data-structures database

我希望在3个不同的层面上加强网站统计数据:

  • 每日统计数据
  • 每个广告系列的统计信息
  • 每个广告系列的每个来源的统计信息

在Mongo上,建议(性能明智)存储需要在以下事项中检索的数据:

{
    "somedate": {
        "324": {
            "count": 456,
            "subcampaigns": {
                "fff": {
                    "count": 45,
                    "sources": {
                        "s1": {
                            "count": 4
                        },
                        "s2": {
                            "count": 41
                        }
                    }
                }
            }
        }
    }
}

预测是每天大约需要1M,而且"来源" > 10K 存储在其他集合或子jsons是否足够好? 是否有限制大小?

THX

1 个答案:

答案 0 :(得分:0)

如果要在不写入磁盘的情况下检索结果,则有16MB的限制。 在聚合时允许磁盘使用会减慢它的速度,但是如果你想保存结果以便能够在之后请求它,那么将结果写在集合中显然是最好的选择。

顺便说一句,如果你想在后台地图中启动你的请求/ reduce可能是一个最好的解决方案,因为它使用的内存更少,并且对它的收益系统非常透明。如果您想要更新数据而不需要很高的成本(http://docs.mongodb.org/manual/tutorial/perform-incremental-map-reduce/),您甚至可以利用增量地图减少的优势。