2012-11-21 42 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。