2013-12-23 16 views
0

我正在使用用户可以创建他/她的移动网站的产品。现在,由于这是一个移动网站创建平台,因此在应用程序中创建了大量网站。我需要保留数据库中的所有访问者数据,以便产品可以将分析结果显示给他/她的网站的用户。建模分析数据的最佳实践

当网站较少时,一切正常。但是现在数据增长很快,因为服务器上有很多请求。我使用mongo作为NoSQL DBMS来保存所有数据。在名为“analytics”的集合中,我通常使用站点ID插入行,以便可以向用户显示。由于数据量大,显示用户分析的性能也很慢。磁盘空间也在逐渐增加。

什么应该是最好的建模来保持这种类型的BIG数据。

  1. 我应该创建每个网站的集合并将数据存储在每个网站的单独集合中吗?
  2. 我是否还应该将收集日期明智分开?
  3. 什么应该是数据的清洁程序。行业内其他领导者采用的最佳做法是什么?

请帮

回答

0

我会强烈建议通过MongoDB的优化策略,在http://docs.mongodb.org/manual/administration/optimization/阅读。你会找到各种方法来确定执行速度慢的查询/操作和建议,以改善他们在上述页面。希望这可以帮助您解决缓慢的查询/性能问题。

如果您还没有看到,我还建议看看http://docs.mongodb.org/ecosystem/use-cases/的各种使用案例,它们是如何为这些场景建模的,以及是否有类似于您尝试实现的用例。

通过优化策略下,并进行适当的更改,如果你仍然有性能问题后,我会建议张贴下列进一步的建议信息:

  • 你目前的状态,在性能方面,什么是计划的目标状态?
    • 您的系统看起来如何,即硬件/软件特性?

一旦你所需的性能特点,下面的问题可以帮助你实现你的目标:

  • 有哪些常用的查询模式,哪些是慢?

    • 潜在寻找添加索引,可以提高查询性能
    • 潜在寻找模式重构基于此基础上如何将访问模式
    • 潜在寻找模式重构的卷起/汇总分析数据用过的。
  • 写入是否也很慢,这也是一个问题吗?

  • 的数据有多大建议您阅读关于它以及它是如何生长或意欲生长

    • 潜在的,这将给予进一步的见解有什么可以建议的