我有大量的数据,因此我无法将所有的数据都保存在内存中,并且总是出现内存不足的错误;显然,解决方法之一是在node.js中使用流;但是流是不可能(据我所知)使用排序的,排序是我应用于数据的功能之一;是否有任何算法可以用于流和排序的组合(这是我对数据应用的功能之一?)

最佳答案

您可以使用Kinesis来流式传输数据,并使用Kinesis Client Librarysubscribe a Lambda function to your Kinesis stream来递增地维护排序的物化视图存储排序的具体化视图的位置以及如何划分数据将取决于应用程序。如果不能存储所有已排序的具体化视图,则可以使用滚动视图如果数据是时间序列,或者具有其他自然顺序,则可以将有序属性的范围划分为块然后,例如,您可以对数据块进行1天或1小时的排序。换言之,选择允许您根据需要将信息保存在内存中的已排序子区域。

07-24 19:16
查看更多