Standard または Advancedのライセンスで利用可能。
データを複数のジオデータベースに分散させると、データの可用性とパフォーマンスが向上します。 データを分散させると、サーバーの競合を軽減できるため、組織は編集作業を行うユーザーと読み取り専用操作のためにアクセスするユーザーの間でジオデータベースにかかる負荷を調整することができます。
ジオデータベース レプリケーションは、ArcGIS Pro で実行できるデータ分散ワークフローの 1 つです。 ジオデータベース レプリカを作成する場合は、次の 2 つのジオプロセシング ツールの中から選択することができます。
- [レプリカの作成 (Create Replica)] - エンタープライズ ジオデータベース内の指定されたフィーチャクラス、レイヤー、データセット、およびテーブルのリストからレプリカを作成します。 接続環境で作業する場合は、チェックアウト レプリカ、一方向レプリカ、または双方向レプリカを作成する方法を確認し、非接続環境で作業する場合は、非接続環境でレプリカを作成する方法を確認してください。
- [サーバーからレプリカを作成 (Create Replica from Server)] - ArcGIS Server サイトで実行されているジオデータ サービスを使用して、リモート ジオデータベース内の指定されたフィーチャクラス、レイヤー、フィーチャ データセット、またはテーブルのリストからレプリカを作成します。 詳細なワークフロー手順については、ArcGIS Server からレプリカを作成する方法を確認してください。
実装する前に、レプリケーションのためのデータの準備に関して考慮する点がいくつかあります。
ジオデータベース レプリケーション要件
複製するためには、データセットが次の要件を満たしていなければなりません。
- ソース (親) ジオデータベースはエンタープライズ ジオデータベースである必要があります。
- 親ジオデータベースに接続するデータベース ユーザーは、データへの書き込みアクセスを許可されている必要があります。
- レプリカ内のすべてのデータセットは、同一のエンタープライズ ジオデータベースのものでなければなりません。
- エンタープライズ ジオデータベース接続は、トラディショナル バージョニング対応で構成する必要があります。この接続はブランチ バージョニング接続にはできません。
- データがトラディショナル バージョン対応登録されている場合、ベース テーブル移行オプションを使用してバージョン対応登録することはできません。
レプリケーション タイプによっては、次のレプリケーション要件も適用されます。
- チェックアウト/チェックイン レプリケーション
- バージョン対応登録されていないデータをチェックアウトするか、トラディショナル バージョン対応登録されているデータをチェックアウトするかを選択できます。
- 一方向レプリカおよび双方向レプリカ
- 各データセットには、GlobalID 列を持つ必要があります。 GlobalID 列は、ジオデータベース間で行の一意性を維持するために使用されます。
- 一方向レプリケーション
- 親から子への一方向レプリケーション - 子レプリカは、エンタープライズ ジオデータベースまたはファイル ジオデータベースにすることができます。
- 子から親への一方向レプリケーション - 子レプリカと親レプリカをどちらも、エンタープライズ ジオデータベースでホストする必要があります。
- 履歴管理を使用してレプリカの変更を追跡できる一方向レプリケーション - 親レプリカのバージョンをデフォルトのジオデータベース バージョンにする必要があります。 レプリカを作成する前に、データの履歴管理が有効化されている必要があります。
これらの要件を満たしていないデータセットは、レプリカに含まれません。 詳細については、[レプリカの作成 (Create Replica)] ジオプロセシング ツールをご参照ください。 どのデータセットもこれらの要件を満たしていない場合は、レプリカを作成できません。
従属データセットを含めるように、複製対象のデータのリストが自動的に展開されます。 たとえば、レプリケーションのためにトポロジまたはフィーチャ データセット内のフィーチャクラスを選択した場合は、そのトポロジまたはフィーチャ データセット内のすべてのフィーチャクラスが含まれます。 レプリカの作成時に追加のルールと動作が適用されるデータおよびジオデータベース機能のタイプに関する情報を以下に示します。
複製するデータセットの決定
レプリカの作成で最も重要な点の 1 つは、複製するデータを決定することです。 レプリカを作成する場合には、データセット内のデータをすべて複製するか、データのサブセットだけを複製するかを選択できます。 個々のニーズに合わせて、適切な量のデータを複製する計画を立ててください。 レプリカのライフタイムを考慮して、個々の要件が満たされるようにしてください。
複製することを選択したデータのメタデータは、レプリカ作成プロセス中にコピーされます。 メタデータへの変更はレプリカの同期中には適用されません。
すべてのデータを複製
[レプリカの作成 (Create Replica)] ジオプロセシング ツールを使用すると、レプリカに含めるレイヤー内のすべてのデータを複製することができます。
注意:
非空間テーブルの場合のデフォルト動作では、そのテーブルのスキーマだけが複製されます。 特定のテーブルのすべてのレコードを複製する場合は、下記の「複製するデータのサブセットを作成」に示す手順に従って、SQL 式 1=1 をテーブルに対するフィルター設定として指定します。 すべてのテーブルのすべてのレコードを子ジオデータベース レプリカに複製するには、[レプリカの作成 (Create Replica)] ジオプロセシング ツールの [高度な設定] セクションにあるテーブルのすべてのレコード オプションを使用します。 レコードのサブセットを複製する場合は、それに応じて適切な SQL 式を設定します。
複製するデータのサブセットを作成
データセット内のフィーチャのサブセットだけを複製したい場合がよくあります。 複製するデータのサブセットを指定するには、複数の方法があります。
- フィルター設定を使用する。
- 選択セットを使用します。
- 範囲を指定する。
- ジオメトリ フィーチャを使用する。
使用したフィルターに基づいてデータを決定すると、リレーションシップ クラスが存在する場合に、リレーションシップ クラス ロジックが適用されます。 リレーションシップ クラスに含まれているデータセットごとに、レプリカ内の既存のデータに関連する行がレプリカに追加されます。 詳細については、「レプリケーションと関連データ」をご参照ください。
フィルター設定の使用
フィルター設定は SQL 構文で作成されます。フィルター設定を使用すると、データセットから取得するフィーチャをフィルタリングして、レイヤー内で操作するフィーチャのサブセットを定義し、そのレイヤーの属性テーブルに表示することができます。 フィーチャのサブセットを複製するには、次の手順に従って、まず ArcGIS Pro でレイヤーのフィルター設定を作成します。
フィルター設定がマップのレイヤーに適用されたものの、ジオデータベースのデータセットにそれが保存されていないため、マップの [コンテンツ] ウィンドウから [レプリカの作成 (Create Replica)] ジオプロセシング ツールの [レプリカ データセット] フィールドにレイヤーをドラッグするか、[レプリカの作成 (Create Replica)] ジオプロセシング ツールの [レプリカ データセット] ドロップダウン メニューからレイヤーを選択する必要があります。
注意:
参照ボタンを使用してレプリカ データセットを追加しないでください。 参照ボタンを使用した場合、マップ内のデータからのフィルター設定は適用されません。
選択セットを使用します。
フィーチャを選択すると、マップ上でフィーチャのサブセットをハイライト表示して、その後のデータの調査や解析で使用できます。 フィーチャを選択後、各フィーチャクラスおよびテーブルの選択セットを複製することができます。 [レプリカの作成 (Create Replica)] ジオプロセシング ツールから [レプリカ データセット] ドロップダウン メニューを使用して、マップで選択したデータセットがレプリカ内で確実に使用されるようにします。
範囲の指定
[範囲] 環境設定を使用すると、複製するデータの空間範囲を定義できます。 この設定では、指定した範囲内にあるフィーチャだけが処理の対象となります。
入力された範囲は、出力データの座標系の環境が設定されていても、入力データが格納されている座標系によるものと想定されます。 ツールへの入力データセットが複数ある場合は、最初のデータセットで範囲の座標系が決まります。
ジオメトリ フィーチャの使用
1 つ以上のフィーチャを含むレイヤーを指定できます。また、ジオメトリと交差するデータ、またはレイヤー内のジオメトリを集約するデータがあればレプリカに含まれます。 これを使用してレプリカ ジオメトリを定義する方法の詳細については、次のセクションにある [レプリカ ジオメトリ フィーチャ] パラメーターの説明をご参照ください。
[レプリカの作成 (Create Replica)] ジオプロセシング ツールのパラメーター
[レプリカの作成 (Create Replica)] ジオプロセシング ツールの入力パラメーターを次に示します。
- レプリカ データセット - データのサブセットを複製する場合は、フィルター設定を適用し、ドロップダウン メニューを使用して、データのサブセットをレプリカに追加します。 それ以外のデータセットでは、該当するデータセットを参照して選択するか、レイヤーがマップ内に存在する場合はドロップダウン メニューを使用します。
- レプリカ タイプ - チェックアウト レプリカ、一方向レプリカ、子から親への一方向レプリカ、または双方向レプリカを選択します。
- [出力タイプ] - 複製されるデータの出力タイプ。
- [ジオデータベース] - データをジオデータベースに複製します。 これがデフォルトです。
- [XML ファイル] - データを XML ワークスペース ドキュメントに複製します。
- [複製したデータを格納するジオデータベース] - このパラメーターは、[出力タイプ] が [ジオデータベース] の場合に指定する必要があり、ローカルまたはリモートの複製先ジオデータベースに複製します。 リモート ジオデータベースにアクセスするには、ArcGIS Server サイトで実行されているジオデータ サービスを使用します。 該当するジオデータベースまたはジオデータ サービスを参照して選択し、データを受信します。 レプリカ タイプがチェックアウトまたは一方向の場合は、複製先をファイル ジオデータベースにすることができます。それ以外のレプリカ タイプの場合は、エンタープライズ ジオデータベースにする必要があります。 このオプションを使用してデータをジオデータベースに複製する場合は、接続環境でレプリカを作成することができます。 詳細なワークフロー手順については、チェックアウト レプリカ、一方向レプリカ、または双方向レプリカを作成する方法を確認してください。
- [データの複製先の XML ファイル] - このパラメーターは、[出力タイプ] が [XML ファイル] の場合に指定する必要があり、XML ワークスペース ドキュメントを XML ファイルとして出力します。 XML ファイル オプションは、非接続環境に対応しています。この環境では、XML ワークスペース ドキュメントを複製先に送信し、レプリカを作成するためにインポートすることができます。 詳細なワークフロー手順については、非接続環境でレプリカを作成する方法を確認してください。
- レプリカ名 - 作成するレプリカの名前を入力します。
高度な設定
以下のセクションでは、[レプリカの作成 (Create Replica)] ジオプロセシング ツールの高度な設定について説明します。
レプリカ アクセス タイプ
レプリカを作成する場合は、フィーチャ情報モデルに関して次の 2 つのオプションのいずれかを選択できます。
- フル モデル - フル モデルでは、トポロジ、アノテーション、ディメンション フィーチャクラスなど、すべてのシンプル データ タイプとコンプレックス データ タイプが子ジオデータベースに複製され、バージョン対応登録されます。 これがデフォルトです。
フル モデルでは、フィーチャが親相対レプリカ ジオデータベースと子相対レプリカ ジオデータベースの両方に同じフィーチャ タイプで格納されていると見なされます。 たとえば、親レプリカ内のフィーチャクラスがネットワークのジャンクション フィーチャクラスである場合、子ジオデータベースの対応するフィーチャクラスもジャンクション フィーチャクラスである必要があります。
このオプションは、ArcGIS クライアント ソフトウェアに基づく編集アプリケーションでの使用を目的としています。
- シンプル モデル - シンプル モデルでは、子ジオデータベースにシンプル フィーチャだけが含まれます。 シンプル モデルでは、トポロジ、ネットワーク データセット、アノテーション、ディメンション フィーチャクラスは複製されず、子ジオデータベース内のデータはバージョン対応登録されません。 必要に応じて、レプリカの作成後に、子ジオデータベース内のデータをバージョン対応登録することができます。
複製中に、親ジオデータベース内のシンプル フィーチャ以外のフィーチャ (パーセル ファブリックなど) は子ジオデータベース内でシンプル フィーチャに変換されます。 2 つのジオデータベース内のフィーチャのタイプおよび特性の違いを把握するために、同期中に追加処理が適用されます。
このオプションは、子ジオデータベースがシンプル フィーチャ エディター (ArcGIS クライアント ソフトウェアに基づいていないサードパーティ製のエディターを含む) での編集を目的として設計されている場合に使用する必要があります。 また、このオプションは、子ジオデータベース内のデータ モデルを単純化するために、一方向のレプリケーションの実行時に使用するか、ArcGIS または ArcGIS クライアント ソフトウェアに基づくエディターで使用することもできます。
シンプル モデルには、次の利点があります。
- Esri ソフトウェアに基づいていないシンプル フィーチャ エディターを使用して子ジオデータベースを編集できます。
- 一方向レプリカの場合は、子ジオデータベース内のデータがバージョン対応登録されていないため、Esri 以外のアプリケーションと簡単に統合できます。
注意:
トポロジでは、シンプル モデルを使用した場合に、トポロジ オブジェクトが子ジオデータベースから除外されますが、関連するフィーチャクラスはすべて含まれます。 レプリカを作成した後、子ジオデータベースから親ジオデータベースに変更を送信すると、親バージョンのフィーチャが自動的に維持されます。 親バージョンでは、トポロジのダーティ エリアを更新するための追加処理が行われます。
拡張フィーチャクラスとテーブル
この設定のオプションは、レプリカ内のフィーチャクラスまたはテーブルが参加するトポロジ、リレーションシップ クラス、ネットワークなどの拡張データセット タイプを構成するテーブルを、レプリカに含めるかどうかを指定します。
- [デフォルトの使用] - 関連する拡張データセット タイプを構成するフィーチャクラスとテーブルを追加します。 フィーチャクラスの場合は、デフォルトで空間フィルターを交差するすべてのフィーチャがレプリカに含まれます。 空間フィルターが指定されていないと、すべてのフィーチャが含まれます。 テーブルの場合は、デフォルトでスキーマのみがレプリカに含まれます。
- [スキーマのみを使用して追加] - 拡張データセット内のフィーチャクラスとテーブルのスキーマを追加しますが、それらのデータは追加しません。
- [すべての行] - 拡張データセット内のフィーチャクラスとテーブルのすべての行を追加します。
- [追加しない] - 関連する拡張データセットからフィーチャクラスおよびテーブルを追加しません。
関連データの複製
この設定のオプションは、レプリカに含まれている行に関連付けられている行を複製するかどうかを指定します。 たとえば、レプリケーション フィルター内部にフィーチャ (f1) があり、そのフィルター外部にこのフィーチャに関連付けられた別のクラスの関連フィーチャ (f2) があるとします。 この場合、関連データの取得を選択すると、フィーチャ f2 がレプリカに含まれます。
- 関連データを取得しない - 関連した行を複製しません。
- 関連データを取得 - 関連データを複製します。 これがデフォルトです。
レプリカ ジオメトリ フィーチャ
[レプリカ ジオメトリ フィーチャ] オプションを使用して、レプリカ ジオメトリを指定できます。
- レプリカ ジオメトリ フィーチャとして、ポイント、ライン、またはポリゴンを指定できます。
- レプリカ ジオメトリ フィーチャに使用されるフィーチャ レイヤーには、1 つ以上のフィーチャを含めることができます。 複数のフィーチャがある場合は、ジオメトリがマージされ、マージされたジオメトリと交差するデータだけが複製されます。
- フィルター (フィルター設定など) がレプリカ ジオメトリ フィーチャに対して指定されている場合は、これらのフィルター条件を満たしたフィーチャだけがレプリカ ジオメトリの定義に使用されます。
- [範囲] 環境設定を使用してレプリカ ジオメトリを指定することもできます。
- [レプリカ ジオメトリ フィーチャ] が設定されている場合、これがレプリカ ジオメトリとして使用されます。
- [レプリカ ジオメトリ フィーチャ] が設定されていない場合は、[範囲] 環境設定がレプリカ ジオメトリとして使用されます。
- [レプリカ ジオメトリ フィーチャ] と [範囲] 環境設定がどちらも設定されている場合は、[レプリカ ジオメトリ フィーチャ] 設定が使用されます。
- [レプリカ ジオメトリ フィーチャ] が設定されておらず、範囲環境設定も指定されていない場合は、データの全範囲が使用されます。
既存データのみ登録
レプリカの作成は、ソース ジオデータベースからターゲット ジオデータベースにデータをコピーし、各ジオデータベースにレプリカを登録して、複製されたデータを記述するプロセスです。 別のジオデータベースにデータをコピーして登録するレプリカの作成プロセスは、データ サイズが大きいデータセットでは時間がかかる可能性があります。
大規模なデータセットを持つユーザーや、2 つのジオデータベースに同一のデータを持つユーザー向けに、レプリカの作成時に既存データのみを登録する [既存データのみ登録] オプションが用意されています。 [既存データのみ登録] オプションを使用すると、ジオデータベースで変更を同期する必要のあるレプリカ バージョンが作成されますが、データはすでに両方のデータベースに存在しているので、データ コピーの処理時間を短縮することができます。
[既存データのみ登録] オプションは、[レプリカの作成 (Create Replica)] ジオプロセシング ツールの [高度な設定] にあります。
- オン - [既存データのみ登録] がオンの場合、データは子ジオデータベースにすでに存在し、レプリカの登録に使用されることが想定されます。
注意:
[既存データのみ登録] がオンの場合、テーブルのすべてのレコード オプションは使用できません。
- オフ - [既存データのみ登録] がオフ (デフォルト) の場合、親ジオデータベースのデータが子ジオデータベースにコピーされます。
注意:
[既存データのみ登録] オプションを指定して [レプリカの作成 (Create Replica)] ジオプロセシング ツールを使用する前に、次のすべての要件が満たされている必要があります。 ジオデータベースのレプリケーション要件は、データセット名が一致し、データセットが子ジオデータベースに接続しているユーザーによって所有されているという要件とともに、レプリカ作成プロセス中に行われる唯一の検証です。 レプリカ作成前に他の要件が満たされていなかった場合は、レプリカの作成後、レプリカの同期でエラーが発生します。
- 選択したレプリケーション タイプに基づいて適用される追加のレプリケーション要件を含め、ジオデータベースのレプリケーション要件を満たしている必要があります。
- 子から親への一方向レプリカおよび双方向レプリカの場合、子レプリカのデータをバージョン対応登録する必要があります。
- 子ジオデータベースに接続しているユーザーによって所有されている必要があります。
- 親データベースのデータセットと、名前が一致している必要があります。
- 親データベースのデータセットと、スキーマ、ルール、リレーションシップ、およびプロパティが一致している必要があります。
- 親データベースのデータセットと、ジオメトリ タイプが一致している必要があります。
ヒント
[既存データのみ登録] オプションを使用する際には、次の点に留意してください。
- Global ID がレプリケーション タイプの要件である場合は、データを他のジオデータベースにコピーする前に、Global ID を必ずデータに追加する必要があります。 ArcGIS 内の機能を使用してデータをコピーする場合は、コピーと貼り付け、または XML ワークスペースのエクスポートとインポートを使用します。
- レプリカを作成する場合、ターゲット ジオデータベースのデータの所有者として接続する必要があります。
- レプリカ作成プロセスで適用されるフィルターはすべて、相対ジオデータベースのデータにも適用されます。
制限事項
[既存データのみ登録] オプションを使用している場合は、次の制限に注意することが重要です。
- [レプリカの作成 (Create Replica)] ジオプロセシング ツールで [既存データのみ登録] オプションがオンになっている場合、子ジオデータベースで一致するデータセットを選択することはできません。そのため、このオプションを選択する前に、子ジオデータベースのデータセットが正しく構成されており、ジオデータベースのレプリケーション要件をすべて満たしていることを、手動で確認する必要があります。
- [既存データのみ登録] オプションの使用は、両方のジオデータベースでデータが一致していることが前提となります。したがってレプリカの作成時に、親レプリカと子レプリカでデータセットに違いがあった場合、その違いは同期されません。 ターゲット ジオデータベースにレイヤーがない場合、[レプリカの作成 (Create Replica)] ジオプロセシング ツールは失敗し、エラー メッセージが返されます。
テーブルのすべてのレコード
レプリカ作成プロセスの実行中、複製されるデータセットのデータとスキーマが、複製元のジオデータベースから複製先のジオデータベースにコピーされ、各ジオデータベース内にレプリカが作成されます。 データはテーブル内の行と列として定義され、スキーマは、フィールド、ドメイン、サブタイプ、およびその他のプロパティなどの複製されるデータの情報で構成されます。
データセットの場合のデフォルト動作では、データとスキーマの両方が複製されます。 テーブルの場合のデフォルト動作では、そのテーブルのスキーマだけが複製されます。
[テーブルのすべてのレコード] を使用して、フィルター (選択やフィルター設定など) の適用されていないテーブルの子ジオデータベースにすべてのレコードをコピーするのか、スキーマのみをコピーするのか指定できます。
[テーブルのすべてのレコード] オプションは、[レプリカの作成 (Create Replica)] ジオプロセシング ツールの [高度な設定] にあります。
- オン - [テーブルのすべてのレコード] をオンにすると、フィルターの適用されていないテーブルの子ジオデータベース レプリカに、すべてのレコードがコピーされます。 このオプションは拡張フィーチャクラスとテーブル パラメーターの値をオーバーライドします。
注意:
既存データのみ登録 オプションがオンの場合、[テーブルのすべてのレコード] オプションは使用できません。
- オフ - [テーブルのすべてのレコード] をオフにすると、フィルターの適用されていないテーブルの子ジオデータベースに、スキーマのみがコピーされます。 フィルターの適用されているテーブルが優先されます。 これがデフォルトです。
データの複製の例
次の保守作業指示の例は、データを複製する場合のデフォルト動作の一部を示しています。
保守担当者が住宅地域でいくつかの点検を行う準備をしています。 編集作業の一部を現地で行うために、保守担当者はこの住宅地域を対象としている基盤の該当する部分を複製する必要があります。 複製プロセスを開始するには、空間フィルターを使用して、点検対象地域の空間範囲を特定します (この場合、範囲は環境設定によって決まります)。
担当者の作業には、特定の材質で絶縁されているケーブルのみが必要です。 これらのケーブルを特定するには、関連データセットにフィルター設定を適用します。
最後に、各保守担当者が 1 日に訪問できる世帯数は限られているので、土地区画番号に基づくフィルター設定により、1 つの住宅街区の世帯を特定します。 これは、次のように選択セットとして表示されます。
選択されたフィーチャ、フィルター設定によって特定されたフィーチャ、および選択された空間範囲と交差するフィーチャが複製されます。 これ以外にも、いくつかのフィーチャが含まれています。