将键控旧数据回填到压缩的超表

Backfilling keyed old data to compressed hypertable

我有一个假设的 Hypertable candle 交易所及其交易对数据:

create_hypertable('candle 'timestamp', create_default_indexes=>FALSE);

candle 数据看起来有点像这样,基本上价格走势分解为 pair_id(交易对)和 exchange_id(交易发生的交易所):

      Column       |            Type             | Collation | Nullable | Default 
--------------------+-----------------------------+-----------+----------+---------
 timestamp          | timestamp without time zone |           | not null | 
 pair_id            | integer                     |           | not null | 
 exchange_id        | integer                     |           | not null | 
 open               | double precision            |           | not null | 
 high               | double precision            |           | not null | 
 low                | double precision            |           | not null | 
 close              | double precision            |           | not null | 
 buy_volume         | double precision            |           | not null | 
 sell_volume        | double precision            |           | not null | 

然后将此 table 馈送到连续聚合,然后提供开盘价、高低价和收盘价的每日和每周汇总值。

我愿意compress this table。然而,问题是虽然我可以很好地压缩当前数据,但在未来的某个时候,我需要从发布时不在系统中的交易所导入数据。基本上会有很多插入到过去的 timestamp 值和新的 exchange_id。即使大多数 candle table 数据是 immutable 并且可以通过 timestamp 限制它来压缩,如果我对 [=] 执行批量过去数据加载15=]之前没见过,要违反这个规则了。

What is the best way to handle this situation?

我会考虑采用更小的块,这样压缩和解压缩操作会变得更快。

Can I bulk load data to compressed hypertables safely?

实施此能力的时间尺度是in progress

Can the compression condition consider only filtered exchange_id columns and I could compress exchange_id I know to be safe by hand?

也许尝试 add_partition