【问题标题】:designing data-heavy lightweight scalable RESTful web architecture设计数据量大的轻量级可扩展 RESTful Web 架构
【发布时间】:2012-11-10 04:11:36
【问题描述】:

我有大约 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 个不同的图表。以及绘制历史投资组合回报。

哪种设计合适,不吃太多内存,性能好?

【问题讨论】:

    标签: javascript json rest architecture csv


    【解决方案1】:

    查看SOLR 项目。它支持 CSV 数据的索引并提供支持 REST 的搜索 API。

    简单的例子见:

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2012-01-14
        • 2014-08-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-12
        • 1970-01-01
        • 1970-01-01
        • 2015-12-03
        相关资源
        最近更新 更多