将大量有序时间序列数据存储在大型衍生品中

问题描述 投票:39回答:6

我试图弄清楚这些新的数据存储如bigtable,hbase和cassandra到底是什么。

我处理大量的股票市场数据,数十亿行价格/报价数据,每天可以累计达到100千兆字节(尽管这些文本文件通常压缩至少一个数量级)。这个数据基本上是一些数字,两个或三个短字符串和一个时间戳(通常是毫秒级)。如果我必须为每一行选择一个唯一的标识符,我将不得不选择整行(因为交换可能会在同一毫秒内为同一个符号生成多个值)。

我想将这些数据映射到bigtable(我包括它的衍生物)的最简单方法是按符号名称和日期(这可能会返回一个非常大的时间序列,超过百万个数据点并非闻所未闻)。通过阅读他们的描述,看起来这些系统可以使用多个密钥。我还假设十进制数不是键的好选择。

其中一些系统(例如Cassandra)声称能够进行范围查询。在给定的一天,上午11:00到下午1:30之间,我是否能够有效地查询MSFT的所有值?

如果我想搜索给定日期的所有符号,并请求所有价格在10美元到10.25美元之间的符号,那么该怎么办?所以我正在搜索这些值,并希望返回键作为结果?

如果我想得到两个系列,从另一个系列中减去一个,并返回两次系列及其结果,我将在自己的程序中做他的逻辑怎么办?

阅读相关论文似乎表明这些系统不适合大规模时间序列系统。但是,如果谷歌地图等系统基于它们,我认为时间序列也应该有效。例如,将时间视为x轴,将价格视为y轴,将符号视为命名位置 - 突然之间看起来像bigtable应该是时间序列的理想存储(如果整个地球可以存储,检索,放大和注释,股市数据应该是微不足道的)。

有些专家可以指出我正确的方向或澄清任何误解。

谢谢

cassandra finance hbase bigtable time-series
6个回答
21
投票

我还不是专家,但我已经和Cassandra玩了几天了,我有一些答案给你:

  1. 不要担心数据量,如果您对大型硬件集群有$$$,则与Cassandra等系统无关。

其中一些系统(例如Cassandra)声称能够进行范围查询。在给定的一天,上午11:00到下午1:30之间,我是否能够有效地查询MSFT的所有值?

当您知道如何使用键时,Cassandra非常有用。它可以非常快速地通过键。因此,要在11:00到1:30之间搜索MSFT,您必须按如下方式键入行:

MSFT-timestamp,GOOG-timestamp,.. etc然后你可以告诉Cassandra找到所有以MSFT开头的密钥,以MSFT-now + 1hour结束。

如果我想搜索给定日期的所有符号,并请求所有价格在10美元到10.25美元之间的符号,那么该怎么办?所以我正在搜索这些值,并希望返回键作为结果?

我不是专家,但到目前为止,我意识到卡桑德拉根本没有按价值搜索。因此,如果您想要执行上述操作,则必须创建另一个专门针对此问题的表,并设计适合该案例的架构。但它与我上面描述的不会有太大的不同。这都是关于命名键和列的。卡桑德拉可以很快找到它们!

如果我想得到两个系列,从另一个系列中减去一个,并返回两次系列及其结果,我将在自己的程序中做他的逻辑怎么办?

正确,所有逻辑都在你的程序中完成。这不是MySQL。这只是一个存储引擎。 (但我相信下一个版本会提供这些东西)

请记住,我是新手,如果我错了,请随时纠正我。


13
投票

如果你正在处理一个庞大的时间序列数据库,那么标准是:

这些并不便宜,但它们可以非常有效地处理您的数据。


12
投票

我尊重的人推荐了开放时间序列数据库。特别是,模式是他见过的最好的。

http://www.vhayu.com


2
投票

'站在同一座山前。我对cassandra的主要问题是我无法在结果集上获得流,例如以迭代器的形式。

我看起来已经在文档和网络上下,但没有。

我无法获取所有密钥然后获取行数十亿行使这不可能。


1
投票

DataStax Java驱动程序允许自动分页,因此它将像迭代器一样流式传输结果,而且它都是内置的。这就是Cassandra 2.0.1顺便说一句 - http://opentsdb.net/


0
投票

为了在2018年完整阅读,现在有一个特殊的数据库,仅用于名为TimescaleDB的时间序列数据

http://www.datastax.com/dev/blog/client-side-improvements-in-cassandra-2-0

这个博客值得一读,它解释了为什么它优于Cassandra等解决方案的特殊情况以及为什么他们决定在关系PostgreSQL数据库之上构建它

http://www.timescale.com/

© www.soinside.com 2019 - 2024. All rights reserved.