0

我有 100 000 个源/传感器/符号。我每天从每一个中读取一个值。

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

查询1:

因为我想分析所有符号的每日数据,所以我按年、月、周、日对数据库进行分区。

查询2:

但我还想通过读取每个符号最多 24 个月的数据来分析每个符号随时间推移的趋势/统计数据。

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

你提出什么样的设计?

4

1 回答 1

0

每天 100k 行并不算多。您一年只创建一个分区。但是,如果您还想通过仅处理单个分区来优化查询性能 - 让我们假设您按月分区。

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

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

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

于 2016-04-14T21:22:42.720 回答