配置时间序列集合
您可以配置映射规则,将包含日期时间列的表迁移到时间序列集合。 时间序列集合可有效存储时间序列数据。 在时间序列集合中,写入的组织方式使得来自同一源的数据与来自相似时间点的其他数据点存储在一起。
关于此任务
您可以使用 字段自定义将string列转换为Relational Migrator中的日期时间字段。
具有时间序列配置的CDC作业在完成之前不会创建时间序列集合。
与普通集合相比,在时间序列集合中存储时间序列数据可提高查询效率,减少时间序列数据和二级索引的磁盘使用量。
时间序列集合的使用案例包括IoT 、预测和基于时间的分析。
开始之前
有关每个时间序列字段组件的完整详细信息,请参阅时间序列字段参考。
如果迁移作业中的时间序列数据不需要任何复杂的转换,则将时间时间序列数据作为单独的迁移作业进行迁移可能会对您有利。这样可以更轻松地预加载大型时间序列集合,并在初始作业完成后迁移其余数据。
如果要迁移大量数据,可能需要使用表筛选器将迁移作业分成多个批次。示例,您可以一次导入一年的历史数据。这使您可以将大型作业分解为更易于管理的部分。
如果长时间运行的迁移作业意外失败(示例,由于数据库中断)并且无法自动恢复,您也许可以使用表筛选器创建新的迁移作业,从上一个作业完成的位置接续关闭。这种方法可以让您避免重复整个迁移作业。
步骤
配置时间序列集合
在Mappings窗格中,单击 Configure按钮。
选择Time Series Collection单选按钮。
选择 Time Field。
Time Field
是每个时间序列文档中包含日期时间字段的字段的名称。 时间序列集合中的文档必须具有有效的 BSON 日期数据类型。 有关在 Relational Migrator 中将字段转换为日期时间类型的详细信息,请参阅字段自定义。注意
如果有多个日期时间列,则必须为每个时间序列集合选择一个字段。
(可选)选择 Meta Field
Meta Field
是每个时间序列文档中包含元数据的字段的名称。 指定字段中的元数据用于标记一系列唯一的文档。 元数据应该很少改变。选择 Granularity。
指定与连续传入时间戳之间的时间最匹配的
Granularity
值。 设置正确的粒度可优化MongoDB在集合中存储数据的方式,从而提高性能。 可能的值为seconds
、minutes
和hours
。(可选)选择Expire After Seconds 。
Expire After Seconds
通过指定文档过期后的秒数,启用自动删除时间序列集合中文档的功能。 MongoDB会自动删除过期文档。单击 Save And Close(连接)。
注意
当集合配置了时间序列字段时,时间序列图标会在Schema model窗格中集合名称旁边显示。
例子
以下示例将rental_date
列转换为 MongoDB 中的时间序列字段:
rental_id | rental_date | inventory_id | customer_id | return_date | 以来staff_id | last_updated |
---|---|---|---|---|---|---|
1 | 2005-05-24 22:53:30 | 367 | 130 | 2005-05-26 22:04:30 | 1 | 2006-02-15 20:30:53 |
{ rental_date: { $date: "2005-05-24T22:53:30.000Z", }, last_updated: "2006-02-16T01:30:53Z", customerId: 130, rental_date: { $date: "2005-05-26T22:04:30.000Z", }, _id: { $oid: "661597470a883992d56d60d6", }, inventory_id: 367, staff_id: 1, rental_id: 1, }