只加载一次后骨干更大的集合 - 会有大问题吗?

时间:2013-07-25 16:29:05

标签: node.js sockets backbone.js dataset

我有大约15000件物品的任务。我使用backbone和node.js socket.io.js。

我最初只加载这些项目,调用fetch。该脚本冻结了几秒钟,但到目前为止所做的一切都很快。

使用套接字处理此集合的更新,因此当我想要更新数据时,我不需要获取所有15K项目。

我选择这种方式的原因 - 为了获得快速的用户交互,因此用户只需搜索项目并快速显示。不喜欢搜索并等待ajax响应。

但我们今天讨论过,而我的老板说数据集可能会增长10倍。我看到其他讨论不推荐使用100K阵列。

但是当我不打算永久地获取整个数据集时,而是与节点的小和平相比,你认为我会有什么问题吗?

如果是这样,也许我应该计划加载一部分数据,比如加载10K项目。这些项目可以分组,因此可以说加载了部分组,未加载组的一部分。

因此,当用户搜索时,他或者很幸运并且看到结果,或者他看到ajax微调器 - 并且数据从服务器加载。

当我不需要ajax并且一切运行得如此之快时它感觉很棒,但当他告诉它可能是10倍大的数据集时,我感到有点担心:)

1 个答案:

答案 0 :(得分:0)

你的页面加载现在需要几秒钟 - 数据集增加10倍,可能会增加到很多秒,以及增加服务器和数据库的负载。每个应用程序和数据集都有其特定用途,并且基于它取决于您是否以及如何对数据进行分页。暴露长期执行方法也存在风险,因为它会使系统更脆弱并且容易受到DOS攻击。我能看到的唯一客户端解决方案是部分或全部获取数据并将其存储在本地存储中,但是您必须处理该安全风险。实施起来可能比标准的AJAX搜索更难,所以在这种情况下,AJAX可能是你最好的选择。