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 上编辑此页面
。