インスタンスデータレプリケーション (IDR) の詳細
インスタンスデータレプリケーション (IDR) (IDR) は、1 つのインスタンスでさまざまな部門や事業部門間にデータを伝搬し、データの同期を維持できる、1 対多のレプリケーションを提供します。
IDR では双方向レプリケーションもサポートしています。双方向レプリケーションでは、プロデューサーインスタンスからコンシューマーインスタンスにデータをコピーし、コンシューマーインスタンスからプロデューサーインスタンスにデータをコピーし直すことができます。
メリット
- データは 1 つ以上の他のインスタンスに自動的にレプリケートされます。
- データを変更して、他のインスタンスの任意のテーブルとテーブル列にマッピングできます。たとえば、テーブル列を変更およびマッピングして、さまざまなロケールに応じてデータをローカライズできます。
- コンシューマーインスタンスで更新されたデータをプロデューサーインスタンスにレプリケートできます。
問題要求などのデータは、サードパーティが使用できるようにコンシューマーインスタンスにコピーできます。サードパーティはコンシューマーインスタンスの問題を更新できます。その後、データをプロデューサーインスタンスで更新できます。
- 通知の生成やレプリケーションの検証など、ビジネスルールでレプリケーション後のワークフローをトリガーできます。
- クラッシュ中に転送していたデータは復旧可能です。
インスタンスデータレプリケーション (IDR) の仕組み
インスタンスデータレプリケーション (IDR) プラグイン (com.glide.idr) を使用して、プロデューサーインスタンスと呼ばれる 1 つのインスタンスのデータ更新を、コンシューマーインスタンスと呼ばれる 1 つ以上の他のインスタンスにレプリケートします。
プロデューサーレプリケーションセットを構成することで、レプリケートするプロデューサーインスタンスのテーブルとテーブル列を指定できます。コンシューマーデータセットの構成時に、プロデューサーレプリケーションセットデータを受信するコンシューマーインスタンスのテーブルとテーブル列を指定できます。
次に、プロデューサーとコンシューマーの両方のレプリケーションセットをアクティブ化して、IDR 機能をオンにします。プロデューサーレプリケーションセット内のデータが更新されると、コンシューマーレプリケーションセット内の対応するデータが自動的に更新されます。
プロデューサーおよびコンシューマーレプリケーションセットを同期するには、すべてのプロデューサーレプリケーションセットデータをコンシューマーインスタンスに 1 回限りダウンロード (「シード」と呼ばれる) する必要があります。
コンシューマーレプリケーションセットをアクティブ化すると、コンシューマーインスタンスでシード要求を開始できます。Rome リリース以降、フィルター基準機能 (「部分シード」と呼ばれる) を使用して、シードされるレコード数を制限できます。重複するレコードが多数ある場合は、部分シードを使用して大きなジョブを小さなジョブに分割します。
シード後、レプリケーションではデータ更新のみが行われます。監査記録にはこれらのレコードの更新履歴が含まれています。
デフォルトでは、プロデューサーインスタンスのテーブルデータは、コンシューマーインスタンスの同じ名前のテーブルに入ります。変換は、コンシューマーインスタンスで名前が異なるテーブルまたはテーブル列のプロデューサーデータをレプリケートするプロセスです。
IDR アダプターは、コンシューマーインスタンスに保存する前にデータを変更します。アダプターは、通貨の換算やタイムゾーンの変換など、文字列と算術の演算を実行します。
レガシーおよび V2 レプリケーションセット
IDR では、レガシーおよび V2 レプリケーションセットがサポートされています。リリース以降 Washington DC 、レガシーレプリケーションセットを作成できなくなりました。
- レガシーレプリケーションセットでは、 ServiceNow リリース前に Utah 作成された Kafka メッセージ転送および配信実装を使用します。 Utah リリースより前に作成されたすべてのレプリケーションセットは、レガシーレプリケーションセットと見なされます。
- V2 レプリケーションセットでは、Kafka メッセージ転送および配信に代わって ServiceNow Hermes メッセージングサービス を使用します。Hermes メッセージングサービス は、IDR がデータをより迅速かつ大規模にレプリケートできるようにする Now Platform の機能です。
レガシープロデューサーレプリケーションセットは、レガシーコンシューマーレプリケーションセットとのみ互換性があります。同様に、V2 プロデューサーレプリケーションセットは、V2 コンシューマーレプリケーションセットとのみ互換性があります。
新しい V2 レプリケーションセットを作成した場合は、既存のレガシーレプリケーションセットを V2 にアップグレードできます。「インスタンスデータレプリケーション (IDR) でのレガシーレプリケーションセットから V2 へのアップグレード」を参照してください。
IDR の制限事項および IDR を使用すべきでない場合
- IDR を使用してインスタンスのクローンを作成しないでください。
IDR は、メタデータテーブル、子メタデータテーブル、およびほとんどのユーザーテーブルとシステムテーブルをレプリケートしません。IDR は、インスタンスのクローンではなく、データをレプリケートするように設計されています。たとえば、アプリケーションファイル [sys_metadata] テーブルと [sys_metadata] を拡張するテーブル (ビジネスルール [sys_script]、カタログ [sc_catalog]、ワークフロー [wf_workflow] テーブルなど) は除外され、レプリケートできません。クローン作成の詳細については、「」を参照してください System clone。
- 一連の大きな添付ファイルを定期的に複製するために使用すること IDR は避けてください。定期的に 10 MB を超える添付ファイルを含める必要がある場合は、遅延時間が予想を超えないように監視 IDR します。
- CMDB テーブルを複製しないでください。CMDB テーブルを複製する必要がある場合は、条件を使用して複製レコードの数を制限し、すべての必要な列がレプリケーションセットに含まれることを確認する必要があります。
- [エッジ暗号化 ( Edge Encrypted)]、[列レベルの暗号化 (CLE)]、および [パスワード (双方向暗号化) (Password (2-Way Encrypted))] フィールドはレプリケートできません。
- 更新されたレコードの複製に関する制限:
- 最大レコードサイズは 32 MB です。
- IDR 1 日あたり約 100 万件のレコードの複製をサポートします。
- レコードのシードに関する制限事項:
- レプリケーションシードが完了するまでに 7 日間を超えることはできません。
- テーブルの初期シードがレプリケーションセットあたり 300 万レコードを超えることはできません。
注:これらの制限に対応するには、シード要求のテーブル数を減らすか、レコードのサイズを小さくするか、または部分シードを使用します。