【问题标题】:Complex queries vs storing more data复杂查询与存储更多数据
【发布时间】:2015-07-02 02:14:28
【问题描述】:

在确定我想在我的应用程序中拥有什么时,我很难决定什么是更好的方法。我主要使用 MongoDB,并在 Web 应用程序上工作,如果它可以使答案更具体。

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

  1. 在 Mongo 的集合中存储尽可能少的数据,并主要通过服务器端逻辑和对存储数据的计算来实现我的不同功能。
  2. 存储我需要的任何功能,以避免在服务器端功能中进行复杂的查询和逻辑,同时用大量信息填充我的 Mongo。

由于缺乏经验(我才刚刚开始作为 Web 开发人员),我相信我不知道应该采用哪种方法。我想在原型设计时使用第二个,但在开始扩展时切换可能太费力了。有什么建议吗?

【问题讨论】:

  • 这实际上是一个很难回答的问题。我会首先关注安全性,然后在合理的范围内尝试向客户端发送尽可能多的数据*。这取决于您使用的数据量以及客户将如何浏览网站。

标签: mongodb meteor bigdata database


【解决方案1】:

我认为您缺少第三个选项:

  1. 在集合中存储少量数据,在客户端进行计算。

流星的美丽伴随着技术向厚客户的转变。在过去,主要是在 V8 之前,浏览器并不能做太多事情。现在,他们可以做大量的工作。通过将工作推送给您的客户,您可以减轻服务器的处理工作量,您不必将计算字段保存到您的数据库中,通常是client processing time < server processing time + transmission time

如果您无法执行选项 #3,请倾向于 #2。存储通常比处理能力更便宜(而且肯定更快),但这取决于查询的复杂性。如果存储成本

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

【讨论】:

  • 感谢您的详细解答!你给了我一些看法。
猜你喜欢
  • 2010-11-12
  • 1970-01-01
  • 1970-01-01
  • 2011-09-12
  • 1970-01-01
  • 2010-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多