【发布时间】:2016-03-06 16:47:26
【问题描述】:
我正在为外汇交易构建一个数据可视化系统,并且我正在探索存储我拥有的历史外汇交易报价数据的方法。
数据采用货币对(例如美元/加元)按时间顺序排列的卖价和买价报价。归根结底,我需要在 Elasticsearch 中对我的数据进行索引,而我要寻找的是让它们到达那里的最佳方式。
我在网上找到了几种方法;他们开始很简单,但后来变得复杂。我想知道增加额外的复杂性是否值得。我的一些选择是:
- 在 PostgreSQL 上存储刻度数据,然后通过插件将它们同步到 Elasticsearch (here)
- 在 PostgreSQL 上存储刻度数据,将它们推送到 Logstash,然后推送到 Elasticsearch
- 最后,在 PostgreSQL 上存储分时数据,将它们推送到 Redis,然后到 Logstash,然后到 Elasticsearch
我的直觉说,第 2 种解决方案是理想的解决方案,但什么被认为是最佳实践?
【问题讨论】:
-
取决于您如何接收报价数据。通过流进行近乎实时的分析,或一天结束的数据转储。如果您正在流式传输,则可能值得使用诸如 InfluxDB 之类的刻度数据库。如果您所做的只是索引一天结束的数据转储,我不确定在源和 ElasticSearch 之间有任何层有什么意义。同样对于流,请查看 Kafka 或 RabbitMQ 的开源选项。
-
谢谢!目前我正在处理一天结束的数据转储。不过有一个想法是在未来支持实时数据。
标签: postgresql elasticsearch trading