轨迹数据的数据量通常很大,并且在很多场景中,会不断有新的轨迹点进入。将查询、更新较少的冷数据转移到成本更低的OSS中存储是一个常用的方案。

可以使用如下的命令将轨迹导出到OSS中。
UPDATE trajectory_table
SET traj =  ST_exportTo(
                traj, 
                'OSS://<access key>:<access secret>@oss-cn-beijing-internal.aliyuncs.com/<bucket>/<directory>',
                '{"compress":"zstd"}'
        );
参数 参数解释
'OSS://<access key>:<access secret>@oss-cn-beijing-internal.aliyuncs.com/<bucket>/<directory>' 导出的OSS访问路径。更多信息,请参见OSS访问域名使用规则
  • <access key>:<access secret>:OSS的访问密钥。
  • oss-cn-beijing-internal.aliyuncs.com:OSS的Endpoint。
  • <bucket>/<directory>:OSS的Bucket文件路径。
"compress":"zstd" 数据压缩方式。更多压缩方式,请参见ST_ExportTo

导出到OSS后,查询的SQL指令和原来相同。但是效率会降低。另外,当需要建立索引时,应当先建立索引,再将数据导出到OSS中。