Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 设计数据量大、轻量级、可扩展的RESTful web体系结构_Javascript_Json_Rest_Architecture_Csv - Fatal编程技术网

Javascript 设计数据量大、轻量级、可扩展的RESTful web体系结构

Javascript 设计数据量大、轻量级、可扩展的RESTful web体系结构,javascript,json,rest,architecture,csv,Javascript,Json,Rest,Architecture,Csv,我有大约1000个.csv文件,每天的数据可以追溯到30年前。 我正在为自己构建一个RESTful应用程序,理想情况下,用户将输入感兴趣的股票符号 以及关注的时间范围,可能超过10年的每日数据 设计1 我想到了以下流程: 1) user input symbol='GOOG' 2) user input startDate='01-01-1997', endDate=getTodayDate() 3) client requests location of GOOG.csv file in dr

我有大约1000个.csv文件,每天的数据可以追溯到30年前。 我正在为自己构建一个RESTful应用程序,理想情况下,用户将输入感兴趣的股票符号 以及关注的时间范围,可能超过10年的每日数据

设计1

我想到了以下流程:

1) user input symbol='GOOG'
2) user input startDate='01-01-1997', endDate=getTodayDate()
3) client requests location of GOOG.csv file in dropbox server or EC2
4) server returns GOOG.csv to client
5) client parses .csv file until all data is collected and plotted

设计2

1) user input symbol='GOOG'
2) user input startDate='01-01-1997', endDate=getSystemDate()
3) client requests location of GOOG.csv file in dropbox server or EC2
4) server-side converts GOOG.csv file to GOOG.json file 
5) server returns GOOG.json object to client side for plotting

设计3

0) During maintenance time, convert all 1000 .csv files to .json objects
1) user input symbol='GOOG'
2) user input startDate='01-01-1997', endDate=getSystemDate()
3) client requests location of GOOG.json file in dropbox server or EC2 
4) server returns GOOG.json object to client side for plotting
在这之后,我的最终目标是在同一张图表中绘制多达6个不同的图表。以及绘制历史投资组合回报


哪种设计是合适的,不会占用太多内存并提供良好的性能?

根据您的简短描述,我将使用design 2,在服务器上强制执行一些缓存,或者动态存储转换的json项,这样您就不必在当天晚些时候再次转换它们。如果发现服务器端的负载或内存消耗过多,您随时可以在以后转到Design 3。

签出该项目。它支持CSV数据的索引,并提供支持REST的搜索API

有关简单示例,请参见: