アーカイブ履歴

ArcGIS AllSource のデータ履歴管理では、エンタープライズ ジオデータベースの全データまたはデータのサブセットに対するフィーチャレベルの変更記録が保存されます。 ジオデータベースの履歴管理は、履歴参照用にデータ変更を記録、管理、解析するためのメカニズムです。

過去のイベントについての質問への回答や経時的変化の追跡など、次のようなさまざまな理由で履歴管理を使用できます。

  • 時間に制約のある履歴変更の検索に役立つ、長期間にわたる編集内容の保存。
    • 例: 排水ネットワークなどのフィーチャが、都市の持続的成長に合わせて時間とともにどのように変化したか ?
  • 法的な理由で編集履歴の記録を保持しなければならない、コンプライアンス遵守の目的。
    • 例: 隣接する区画のゾーニングが、いつ農地から商業地に変更されたか ?
  • サービスベースのオフライン編集ワークフローに対応します。

履歴管理が有効かどうかの判断

次の手順を行い、データセット プロパティにアクセスすることで、データセットの履歴管理が有効になっているかどうかを判断します。

  1. ArcGIS AllSource を起動します。
  2. [カタログ] ウィンドウの [データベース] フォルダーで、ジオデータベース接続をクリックして内容を展開します。
  3. フィーチャクラスまたはテーブルを右クリックして、[プロパティ] を選択します。

    履歴管理が有効な場合、[ソース] タブの [履歴管理] プロパティに日時が UTC (協定世界時) で表示され、[アーカイブ名] プロパティが設定されています。

    履歴管理が有効なフィーチャクラスのフィーチャクラス プロパティ

    注意:

    履歴管理が有効になっていない場合、バージョン対応データまたはバージョン非対応データの履歴管理を有効化するには、[カタログ] ウィンドウで該当するデータセットを右クリックして [管理] をクリックします。 フィーチャクラス プロパティ ダイアログで [管理] タブをクリックし、ジオデータベース機能の管理の [履歴管理] をクリックします。

編集内容の履歴管理

バージョン非対応のデータに対して履歴管理を有効化する場合、ジオデータベースはそのデータセットのベース テーブルに直接 3 つの属性フィールドを作成します。

注意:
ベース テーブルは、フィーチャクラスの核となるテーブルです。 ベース テーブルには、すべての非空間属性が格納されます。SQL ジオメトリ タイプを使用している場合、空間属性も格納されます。 データベース管理システムのユーザー インターフェイスを介してフィーチャクラスを確認すると、対応するベース テーブルが存在することが確認できます。

ベース テーブルの新しい属性フィールドは次のとおりです。

  • GDB_FROM_DATE - フィーチャが作成された正確な日時。
  • GDB_TO_DATE - フィーチャが廃止された正確な日時。 この GDB_TO_DATE フィールドの属性は、9999-12-31 の値にいつでも設定できます。この値は、オブジェクトの現在の状態です。
  • GDB_ARCHIVE_OID - 複数の履歴管理レコードの状態を追跡するためのグローバル識別子。

ArcGIS AllSourceバージョン非対応データを編集する場合は、各編集トランザクション (挿入、更新、または削除) が自動的にジオデータベースにコミットされるため、編集内容を保存する必要はありません。 データセットへの編集がコミットされると、ジオデータベースは自動的にそれら 3 つの属性フィールドを更新し、経時的変化を記録した履歴レコードを保持します。

以下に、履歴管理が有効な場合、編集による修正内容がベース テーブルでどのように処理されるかについて、例を示します。

  • [挿入] - ArcGIS AllSource では、新しいフィーチャが Park_Amenities フィーチャクラスに追加されます。 GDB_FROM_DATE フィールドは、フィーチャが作成された日時 (UTC) を記録しています。 GDB_TO_DATE フィールドは、オブジェクトの現在の状態を意味する 9999-12-31 23:59:59.0000 を記録しています。
    履歴管理対象の新しいフィーチャの追加
  • [更新] - ArcGIS AllSource で属性エディターを使用し、AmenityType フィールドを更新し、値を NULL から Restroom に変更します。 この更新を実行した結果、ベース テーブルが次のように変更されます。
    • 同じ OBJECTID 1 に新しい行が挿入され、GDB_FROM_DATE フィールドには履歴管理操作と同じタイム スタンプ、GDB_TO_DATE フィールドには 12/31/9999、AmenityType フィールドには NULL から Restroom への更新が記録されます。
      履歴管理対象フィーチャの更新
  • [削除] - ArcGIS AllSource で、Restroom 環境設備フィーチャを選択し、削除します。 編集セッションでフィーチャが削除されると、ベース テーブルにその記録が保持され、ベース テーブルの関連行が更新されます。GDB_TO_DATE 属性の値には、フィーチャが廃止された履歴管理操作のタイム スタンプと同じ値が設定されます。
    履歴管理対象フィーチャの削除

アーカイブ履歴の管理

ジオデータベースの履歴管理により、有効なクラスの編集トランザクションが保存されます。 バージョン非対応の履歴管理の場合、履歴管理レコードは、現在のすべてのレコードと同じテーブルに格納されます。 時間の経過とともに、特に大規模な編集が行われる環境では、バージョン非対応の履歴管理データセットは、すべての編集内容を蓄積した履歴として、サイズが大きくなる可能性があります。

一部またはすべての履歴レコードが不要または関連がない場合は、それらのレコードを削除することができます。 あるいは、履歴レコードを削除することで、次のようなデータベース管理タスクを改善することができます。

  • データ トランザクションの処理
  • ファイル システム ストレージ
  • テーブルおよびインデックス管理
  • バックアップおよび復元操作

履歴レコードを削除する際のオプションとして、履歴管理の無効化がありますが、ベース テーブルの一部を保持するためのオプションはありません。 履歴管理はサービスベースのオフライン編集ワークフローを必要とするので、履歴管理の無効化は必ずしも有効な解決策とはなりません。 さらに、1 つのトランザクションで履歴管理を無効化し、そのテーブルが非常に大きい場合、データベース トランザクション ログは、適切なサイズで、エラー回避のために監視される必要があります。

別のオプションとして、[アーカイブ履歴の切り取り (Trim Archive History)] ジオプロセシング ツールの使用があります。 このツールを使用すると、履歴管理を無効にして同期ワークフローを中断することなく、バージョン非対応の履歴管理データセットから、廃止された行を削除できます。

このツールの使用方法についての詳細は、「アーカイブ履歴の切り取り (Trim Archive History)」をご参照ください。