Timescale Cloud:性能、规模、企业级
自托管产品
MST
超表专为实时分析而设计,它们是 PostgreSQL 表,可根据时间自动对数据进行分区。通常,您会根据包含时间值的列对超表进行分区。最佳实践是使用 timestamptz
列类型。但是,您也可以根据
date
、integer
和 timestamp
类型进行分区。
要按照本页上的步骤操作
创建一个启用时序和分析的目标 Timescale Cloud 服务。
您需要您的连接详细信息。此过程也适用于自托管 TimescaleDB。
使用 CREATE TABLE 为您的时序数据创建超表。为了高效查询列式存储中的数据,请记住按最常用于筛选数据的列进行 segmentby
。
CREATE TABLE conditions (time TIMESTAMPTZ NOT NULL,location TEXT NOT NULL,device TEXT NOT NULL,temperature DOUBLE PRECISION NULL,humidity DOUBLE PRECISION NULL) WITH (tsdb.hypertable,tsdb.partition_column='time',tsdb.segmentby = 'device',tsdb.orderby = 'time DESC');
如果您自托管 TimescaleDB v2.19.3 及更低版本,请创建一个PostgreSQL 关系表,然后使用 create_hypertable 进行转换。然后,您可以通过调用 ALTER TABLE 来启用 Hypercore。
要转换现有数据表,请在该表上调用 create_hypertable
并将 migrate_data
设置为 true
。但是,如果数据量很大,这可能需要很长时间。有关数据迁移的更多信息,请参阅将数据迁移到 Timescale Cloud。
随着数据变冷并更适合分析,[添加列式存储策略][add_columnstore_policy],使您的数据在特定时间间隔后自动转换为列式存储。这种列式格式可实现快速扫描和聚合,优化分析工作负载的性能,同时节省大量存储空间。在列式存储转换中,超表块被压缩超过 90%,并组织成高效的大规模查询。这种列式格式可实现快速扫描和聚合,优化分析工作负载的性能。
要优化数据,请添加列式存储策略
CALL add_columnstore_policy('conditions', after => INTERVAL '1d');
您也可以手动将超表中的块转换为列式存储。
您可以使用 PostgreSQL ALTER TABLE
命令更改超表,例如添加列。这适用于常规超表和分布式超表。
您可以使用 ALTER TABLE
命令向超表添加列。在此示例中,超表名为 conditions
,新列名为 humidity
。
ALTER TABLE conditionsADD COLUMN sunshine DOUBLE PRECISION NULL;
如果您添加的列的默认值设置为 NULL
或没有默认值,则添加列相对较快。如果您将默认值设置为非 NULL
值,则需要更长时间,因为它需要为所有现有行的所有现有块填充此值。
您可以使用 ALTER TABLE
命令更改超表的名称。在此示例中,超表名为 conditions
,正在更改为新名称 weather
。
ALTER TABLE conditionsRENAME TO weather;
使用标准 PostgreSQL DROP TABLE
命令删除超表。
DROP TABLE weather;
属于该超表的所有数据块都将被删除。
关键词
发现此页面有问题?报告问题 或 在 GitHub 上编辑此页面
。