2016-04-14 70 views
0

我有100 000个源/传感器/符号。从每一个我每天都读取价值。创建数据库分区以分析时间序列

我使用这些日常数据/值加载数据库表。每个值和符号一行,即每天100 000行。

查询1:

正如我想分析了所有的符号每日数据分割我的年,月,周,日的数据库。

QUERY2:

但我也想通过读数据长达24个月回每个符号的时间来分析一段时间内各个符号的趋势/统计。

Query2沿着另一个维度(时间轴),我不想查询针对query1优化的多个分区(y,m,w,d)。

你建议什么样的设计?

回答

0

每天100k行不算太多。你只创建一个分区一年。 但是,如果您还想通过仅在单个分区上工作来优化查询性能,那么我们假设您按月分区。

此外我们假设一个三节点集群。所以你可能想要创建6张碎片的表格,每年总共会产生6 * 12个碎片。如果您配置了一个副本 - 6 * 12 * 2分片 - 这看起来不错。

如果您在where子句中指定分区 - crate将自动仅唤醒这些碎片。但您仍然可以看到整个数据。

顺便说一句:这里有一个方便的链接按时间分区:https://crate.io/a/generated-columns-in-crate/