2012-11-21 16 views
0

我有大约1000个.csv文件,日常数据可以追溯到30年。 我正在为自己构建一个RESTful应用程序,理想情况下用户将输入感兴趣的股票代码 以及可能超过10年的日常数据的感兴趣时间范围。设计数据量大的轻量级可伸缩RESTful web架构

设计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 

OR

设计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 

OR

设计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周不同的图表在同1个图表。以及绘制历史投资组合回报。

哪种设计比较合适,不会吃太多内存并且性能不错?

回答

0

从你的简短描述我会去设计2,并强制执行服务器上的一些缓存或动态存储转换后的json项目,以便您不必在当天晚些时候再次转换它们。如果事实证明在服务器端有太多的负载或内存消耗,您可以随后移动到设计3。