【问题标题】:How to provide different data to different users from a NodeJS web server?如何从 NodeJS Web 服务器向不同的用户提供不同的数据?
【发布时间】:2016-11-06 09:10:02
【问题描述】:

我们正在构建一个用于可视化大量数据集的网站。使用 crossfilter.js 将数据集加载到服务器(NodeJS 和 Express)上,并通过公开不同的端点,将数据发送到正在构建可视化的网站。

到目前为止,服务器只能为服务器启动时加载的数据集提供可视化。要更改数据集,需要重新启动服务器。我们现在正在尝试允许用户更改他正在可视化的数据集。问题是我们不知道什么是最好的方法。接下来是必要的步骤:

  • 用户提供新数据集
  • 服务器正在加载此数据集,而不更改其他用户正在使用的数据集
  • 服务器能够为每个用户提供正确的数据集。

基本上,我们的不确定性在于如何将多个数据集加载到内存中。服务器可能变得过于过载。

有什么建议吗?

【问题讨论】:

  • 我自己并没有专业知识来回答这个问题,但是如果您提及您存储/检索数据的准确程度(例如,哪个数据库),它可能会帮助合适的人找到这个问题您正在使用的系统等)。也将它放在标签中。
  • 正如我所解释的,数据来自数据集(csv、json)。因此,我们没有使用任何数据库系统。
  • 啊,我不熟悉用于 csv/json 数据的术语,我的错。
  • 这些数据集有多大?您知道托管您的应用程序的服务器的内存容量吗?

标签: node.js express architecture dataset


【解决方案1】:

这里有几个内存管理选择。您可以为所有内容分配足够的内存,并溢出到交换。或者,更复杂的是,将文件存储在磁盘上,并让数据集遵循缓存模式。使用固定大小的 lru 缓存将允许您拥有与磁盘空间一样多的数据集,但需要注意的是,在将数据集从磁盘读取到内存中时,返回的用户可能需要等待一两秒。

【讨论】:

    猜你喜欢
    • 2012-08-31
    • 2012-02-16
    • 2019-06-30
    • 1970-01-01
    • 2017-07-12
    • 2012-04-14
    • 1970-01-01
    • 2014-11-17
    • 1970-01-01
    相关资源
    最近更新 更多