Timescale Cloud:性能、扩展性、企业级

自托管产品

MST

为超表启用列式存储。

启用列式存储后,您可以选择

TimescaleDB v2.18.0

启用列式存储

  • 配置一个超表,使其能够摄取设备数据并使用列式存储:

    在此示例中,`metrics` 超表通常会查询特定设备或设备组的相关数据。通过 `device_id` 对超表进行分段可以提高查询性能。

    ALTER TABLE metrics SET(
    timescaledb.enable_columnstore,
    timescaledb.orderby = 'time DESC',
    timescaledb.segmentby = 'device_id');
  • 指定数据块间隔,不改变其他列式存储设置:

    • 设置数据块添加到列式存储的时间间隔

      ALTER TABLE metrics SET (timescaledb.compress_chunk_time_interval = '24 hours');
    • 要禁用之前设置的选项,请将间隔设置为 0

      ALTER TABLE metrics SET (timescaledb.compress_chunk_time_interval = '0');
  • 对您添加到列式存储中的所有数据启用二级索引 抢先体验:TimescaleDB v2.18.0

    alter table metrics
    set access method hypercore,
    set (timescaledb.compress_orderby = 'created_at',
    timescaledb.compress_segmentby = 'location_id');
  • 对您添加到列式存储中的数据块启用二级索引 抢先体验:TimescaleDB v2.18.0

    alter table _timescaledb_internal._hyper_1_21_chunk
    set access method hypercore;

语法为

ALTER TABLE <table_name> SET (timescaledb.enable_columnstore,
timescaledb.orderby = '<column_name> [ASC | DESC] [ NULLS { FIRST | LAST } ] [, ...]',
timescaledb.segmentby = '<column_name> [, ...]',
timescaledb.compress_chunk_time_interval='interval',
SET ACCESS METHOD { new_access_method | DEFAULT },
ALTER <column name> SET NOT NULL,
ADD CONSTRAINT <constraint_name> UNIQUE (<column name>, ... )
);
名称类型默认值必填描述
table_nameTEXT-要为其启用列式存储的超表。
timescaledb.enable_columnstoreBOOLEANtrue启用列式存储。
timescaledb.orderbyTEXT按 `table_name` 中时间列的降序排列。列式存储中项目的使用顺序。与 `SELECT` 查询中的 `ORDER BY` 子句的指定方式相同。
timescaledb.segmentbyTEXT不按列分段。设置用于在 `table` 的列式存储中对数据进行分段的列列表。通常,表示数据源的标识符,例如 `device_id` 或 `tags_id`,是一个很好的选择。
column_nameTEXT-用于 `orderby` 或 `segmentby` 的列名。
timescaledb.compress_chunk_time_intervalTEXT-实验性功能:减少 `table` 的列式存储中的数据块总数。如果您设置 `compress_chunk_time_interval`,添加到列式存储的数据块将尽可能地与 `chunk_time_interval` 内的相邻前一个数据块合并。这些数据块是不可逆合并的。如果您调用 convert_to_rowstore,合并的数据块不会被拆分。您可以独立于其他压缩设置调用 `compress_chunk_time_interval`;不需要 `timescaledb.enable_columnstore`。
间隔TEXT-设置为 `table` 的 chunk_time_interval 的倍数。
设置访问方法TEXT默认 (堆表)要在列式存储上启用索引,在您 创建超表 后将其设置为 `hypercore`。抢先体验:TimescaleDB v2.18.0
ALTERTEXT设置列式存储中的特定列为 NOT NULL。
ADD CONSTRAINTTEXT为列式存储中的数据添加 UNIQUE 约束。

关键词

此页面有问题?报告问题 或 编辑此页面 在 GitHub 上。