時系列コレクションの構成
マッピング ルールを構成して、日時列を含むテーブルを時系列コレクションに移行できます。 時系列コレクションは時系列データを効率的に保存します。 時系列コレクションでは、同じソースから収集されたデータが、ほぼ同じ時点のデータ ポイントと一緒に保存されるよう、書込みが整理されます。
このタスクについて
Relational Migrator では、 フィールドのカスタマイズを使用して、string 列を日付時刻フィールドに変換できます。
時系列構成を持つCDCジョブでは、CDC ジョブが完了するまで時系列コレクションは作成されません。
時系列データを時系列コレクションに保存すると、通常のコレクションと比較して、クエリの効率が向上し、時系列データやセカンダリ インデックスのディスク使用量が削減されます。
時系列コレクションのユースケースには、 IoT 、予測、時間ベースの分析が含まれます。
始める前に
各時系列フィールド コンポーネントの詳細については、「時系列フィールド リファレンス 」を参照してください。
同期ジョブ内の時系列データを複雑な変換する必要がない場合は、時系列データを別の同期ジョブとして移行するとメリットがある場合があります。 そのため、大規模な時系列コレクションをプリロードしたり、初期ジョブが完了した後に残りのデータを移行したりすることが容易になります。
大量のデータを移行する場合は、テーブル フィルターを使用して同期ジョブをバッチに分割することをお勧めします。 たとえば、一度に 1 年間の履歴データをインポートできます。 これにより、大規模なジョブをより管理しやすいセグメントに分割できます。
長時間実行されている同期ジョブが予期せず(たとえば、データベースの停止により)失敗し、自動的に回復できない場合は、テーブル フィルターを使用して新しい同期ジョブを作成し、前の同期ジョブからオフ。 このアプローチにより、同期ジョブ全体を繰り返す必要がなくなります。
手順
時系列コレクションの構成
Mappingsペインでをクリックします Configureボタン。
Time Series Collectionラジオボタンを選択します。
Time Fieldを選択します。
Time Field
は、各時系列ドキュメントの日時フィールドを含むフィールドの名前です。 時系列コレクション内のドキュメントには、有効な BSON 日付データ型が必要です。 Relational Migrator でフィールドを日時型に変換する方法の詳細については、フィールドのカスタマイズ を参照してください。注意
複数の日時列がある場合は、時系列コレクションごとに 1 つのフィールドを選択する必要があります。
(任意) を選択します 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 の時系列フィールドに変換しています。
retention_id | retention_date | 在庫_id | customer_id | return_date | team_id | last_update |
---|---|---|---|---|---|---|
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, }