node.js - 排序时流式传输大数据

标签 node.js algorithm sorting amazon-dynamodb divide-and-conquer

我有大量数据,因此我无法将所有数据保存在内存中,而且我总是会出现内存不足的错误;显然,解决方案之一是在 Node.JS 中使用流;但流式传输是不可能的(据我所知),而排序是我应用于我的数据的功能之一;是否有任何算法可以分而治之算法,我可以将其用于流式传输和排序的组合(这是我应用于数据的功能之一?)

最佳答案

您可以使用 Kinesis 流式传输数据并使用 Kinesis Client Library , 或 subscribe a Lambda function to your Kinesis stream并逐步维护排序的物化 View 。存储已排序物化 View 的位置以及如何划分数据将取决于您的应用程序。如果您不能存储整个排序的物化 View ,您可以使用 ScrollView 。如果您的数据是时间序列的,或者具有其他一些自然顺序,您可以将有序属性的范围划分为 block 。然后,您可以有例如 1 天或 1 小时排序的数据 block 。换句话说,选择允许您根据需要将信息保留在内存中的已排序分割。

关于node.js - 排序时流式传输大数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30836450/

相关文章:

javascript - NodeJS : How to re-display custom CLI menu after executing corresponding functionality

node.js - Sails.js 的事务性 SQL

algorithm - 下载窗口中稳定 'download-time-remaining' 的算法

javascript - 按下一篇文章对文章列表进行排序

php - 如何对一组罗马数字进行排序?

Python 对多个属性进行排序

linux - 为 ARM 交叉编译 Node.js contextify

node.js - Sequelize 池相关问题

algorithm - 找出n个节点的所有可能的连通图和有向图的数量

algorithm - 优化合并排序