Javascript—为常规计算处理3gb数据

Javascript—为常规计算处理3gb数据,javascript,node.js,memory,large-files,bigdata,Javascript,Node.js,Memory,Large Files,Bigdata,我目前正在考虑我们的应用程序的功能布局,因为这是迄今为止最重的部分,我不确定如何设计它: 我们希望用户能够根据大型数据集对其假设进行回溯测试 数据集的大小超过3gb(json) 在用于计算之前,必须对其进行预处理(格式需要更改) 它可以分割成更小的文件,因为大数据集中的主题是可分离的 一开始我以为我读了我们店里的整个文件,然后从那里开始工作。我刚刚开始怀疑内存是否能在这种情况下生存(在aws上运行时,应该假设内存的消耗是什么) 我考虑的另一种选择是直接从文件中读取,但随后我需要拆分它们(最大

我目前正在考虑我们的应用程序的功能布局,因为这是迄今为止最重的部分,我不确定如何设计它:

我们希望用户能够根据大型数据集对其假设进行回溯测试

  • 数据集的大小超过3gb(json)
  • 在用于计算之前,必须对其进行预处理(格式需要更改)
  • 它可以分割成更小的文件,因为大数据集中的主题是可分离的
一开始我以为我读了我们店里的整个文件,然后从那里开始工作。我刚刚开始怀疑内存是否能在这种情况下生存(在aws上运行时,应该假设内存的消耗是什么)

我考虑的另一种选择是直接从文件中读取,但随后我需要拆分它们(最大250mb javascript?)或流式传输它们(好主意?)

在开始编写代码之前,我想了解如何在Javascript中最有效地处理此类海量数据。现在,一切都是可能的

谢谢!
Jan

我会将您的数据移动到数据库和服务器。我个人会制作一个RESTful api,用于修改应用程序中调用的数据库中的数据

因为您是用Javascript编写的,所以可以为RESTful api创建节点服务器,并将数据存储到SQL或noSQL之类的数据库中。然后从json文件中获取数据并将其放入数据库


我建议研究所有不同的数据库类型,并使用数据库来操作和保存数据。最大的问题是关系数据库与非关系数据库。阅读此文以获取更多信息:

我会将您的数据移动到数据库和服务器。我个人会制作一个RESTful api,用于修改应用程序中调用的数据库中的数据

因为您是用Javascript编写的,所以可以为RESTful api创建节点服务器,并将数据存储到SQL或noSQL之类的数据库中。然后从json文件中获取数据并将其放入数据库


我建议研究所有不同的数据库类型,并使用数据库来操作和保存数据。最大的问题是关系数据库与非关系数据库。阅读此文了解更多信息:

您考虑过使用数据库吗?会的,是的。您考虑过使用数据库吗?会的,是的,谢谢您的好答案!数据实际上来自我们的firebase,但从firebase读取数据的成本太高。所以我可能会在amazon服务器上设置mongodb并从那里读取数据。建议存储多少数据,或者我应该为所有请求使用数据库?此外,缓存数据有用吗?如果有用,如何在这里应用?再次感谢@JanRuno最好将所有更新的最新数据保存在数据库中,并在用户调用本地数据时对其进行缓存。如果用户修改数据客户端,则向服务器数据库发送更新。如果服务器上的数据发生了更改,则可以将新信息发送给用户,以使其缓存的数据是最新的(此处最好使用套接字)。当我的应用程序启动时,我从服务器获取所有信息,并使用socket.io连接到套接字,当信息被更改时,我有一个流来获取新信息并发送新信息。它变得更复杂,但这是一种方式。谢谢你的好答案!数据实际上来自我们的firebase,但从firebase读取数据的成本太高。所以我可能会在amazon服务器上设置mongodb并从那里读取数据。建议存储多少数据,或者我应该为所有请求使用数据库?此外,缓存数据有用吗?如果有用,如何在这里应用?再次感谢@JanRuno最好将所有更新的最新数据保存在数据库中,并在用户调用本地数据时对其进行缓存。如果用户修改数据客户端,则向服务器数据库发送更新。如果服务器上的数据发生了更改,则可以将新信息发送给用户,以使其缓存的数据是最新的(此处最好使用套接字)。当我的应用程序启动时,我从服务器获取所有信息,并使用socket.io连接到套接字,当信息被更改时,我有一个流来获取新信息并发送新信息。这会变得更复杂,但这是一种方式。