复杂查询与存储更多数据

时间:2015-04-23 18:06:36

标签: mongodb meteor bigdata database

在确定应用程序中我想要的内容时,我很难决定什么是更好的方法。我主要使用MongoDB,并且可以处理Web应用程序,如果它可以使答案更具体。

我想知道什么是更好的方法:

  1. 在Mongo的集合中尽可能少地存储数据,并主要通过服务器端逻辑和针对存储数据的计算来实现我的不同功能。
  2. 存储功能所需的任何内容,以避免服务器端功能中的复杂查询和逻辑,同时为我的Mongo填充大量信息。
  3. 由于缺乏经验(我只是作为网络开发人员开始),我相信,我无法弄清楚应采取哪种方法。我想在进行原型设计时采用第二种方法,但在开始扩展时进行切换可能需要付出太多努力。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我认为你错过了第三种选择:

  1. 在集合中存储少量数据,在客户端上进行计算。
  2. 流星的美丽伴随着技术转移到厚厚的客户。回到当天,主要是在V8之前,浏览器无法做很多事情。现在,他们可以做一些疯狂的工作。通过将工作推送给您的客户,您可以从服务器上处理处理工作量,您不必将计算字段保存到数据库中,通常需要client processing time < server processing time + transmission time次。

    如果你不能做第3选项,那么倾向于#2。存储通常比处理能力更便宜(并且肯定更快),但这取决于查询的复杂性。如果存储成本<处理成本,存储它。

    array.toString()?计算它。神经网络模拟?存储它。