1

我已经安装了带有 TimescaleDB 的 Postgresql 12。

我在数据库中有两个表

  1. Sensor_Data
  2. Sensor_Data_TS(时标超表)。两个表都有相同的列,相同的数据和索引是在两个表中的 sensor_id 和 time 上完成的。

现在,当执行查询以从这两个表中插入或查询数据以检查性能差异时,查询时间几乎相同。我插入了大约 5 亿条记录来检查性能差异,但有时 Sensor_Data 表返回数据的速度比超表更快。

运行查询以创建超表。

CREATE TABLE Sensor_Data_TS (LIKE Sensor_Data INCLUDING DEFAULTS INCLUDING CONSTRAINTS EXCLUDING INDEXES);

SELECT create_hypertable('Sensor_Data_TS', 'time', chunk_time_interval => 86400000);

在 Sensor_Data_TS 上创建索引(sensor_id,时间 DESC);

使用“timescaledb-tune”命令配置 TimescaleDB 的属性。

我想知道我在配置超表时是否有任何错误?正如他们在其网站上声称的那样,我如何才能使用 timescaleDB 实现快速性能?

4

1 回答 1

1

您实现的插入率是多少?

你在模仿多少sensor_id个s?

我现在正在做类似的测试并使用tsbs,它可能会给你一些关于它的见解,而无需重新创建所有场景。

如果您查询数据,您会看到巨大的差异,因为查询计划器将在多个块上进行更快的并行交互。

您还可以压缩数据并按 sensor_id 对压缩进行分段,这样可以非常快速地按时间和 sensor_id 查询数据。

我会开始尝试以不同的块间隔(减少它)运行,因为每个块 20M 记录也是非常大量的数据。

于 2021-08-19T17:31:05.670 回答