Arbeiten mit Geodatabase-Replikaten
Dieses Thema gilt nur für ArcGIS for Desktop Standard und ArcGIS for Desktop Advanced.
Unterschiedliche Workflows erfordern die Verteilung der Daten auf verschiedene Geodatabases und die Ausführung von Synchronisierungsänderungen an den Daten der einzelnen Geodatabases. Im Folgenden finden Sie einen Leitfaden zur optimalen Verwendung von verteilten Daten, Geodatabase-Replikaten und der Synchronisierung für Ihr System.
Lesen Sie zunächst das Thema Verteilte Daten, in dem die Geodatabase-Replikation sowie andere Methoden für die Datenverteilung beschrieben werden. Unter Szenarien werden ebenfalls verschiedene häufige Anwendungsfälle der Geodatabase-Replikation erläutert. Wenn die Geodatabase-Replikation für Ihr System als geeignetste Methode erscheint, besteht der nächste Schritt im Erstellen von Replikaten.
Erstellen von Replikaten
Im Folgenden finden Sie Hinweise zur optimalen Erstellung von Replikaten für Ihr System.
- Ermitteln Sie die benötigten Replikate: In manchen Fällen müssen Sie nur ein oder zwei Replikate erstellen, während Sie in anderen Fällen viele Replikate benötigen. Zahlreiche Replikate werden beispielsweise benötigt, wenn Sie Daten verteilen, mit denen Außendienstteams vor Ort auf mobilen Geräten arbeiten sollen. In Fällen, in denen Sie die Synchronisierung zweier Enterprise-Geodatabases erhalten möchten, benötigen Sie möglicherweise nur ein Replikat. Informationen zu Replikaten und zu deren Funktionsweise in einer Geodatabase finden Sie unter Replikate und Geodatabases.
- Entscheiden Sie sich für einen Replikationstyp: Unter dem Thema Replikationstypen werden die einzelnen verfügbaren Replikationstypen beschrieben. Möglicherweise ist in Ihrem System in manchen Fällen ein bestimmter Replikationstyp, in anderen Fällen jedoch ein anderer Replikationstyp erforderlich. Sie können z. B. mit einer bidirektionalen Replikation die Synchronisierung mit einem anderen Büro ausführen und mit einer unidirektionalen Replikation die Geodatabase für die Kartenveröffentlichung aktualisieren.
- Wählen Sie die Werkzeuge zum Erstellen der Replikate aus: ArcGIS stellt mehrere Umgebungen bereit, in denen Sie mit der Geodatabase-Replikation arbeiten können. Jede Umgebung bietet verschiedene Vorteile. Im Folgenden werden die Merkmale der einzelnen Umgebungen beschrieben.
- Der Assistent "Replikat erstellen": Der Assistent Replikat erstellen ist in ArcMap auf der Werkzeugleiste "Verteilte Geodatabase" verfügbar. Er bietet zahlreiche Optionen und eine gut beschriebene Benutzeroberfläche, die fest in ArcMap integriert ist. Die Verwendung des Assistenten "Replikat erstellen" wird für die ersten Versuche mit dem Erstellen von Replikaten oder für das Erstellen einer kleinen Anzahl von Replikaten empfohlen.
- Das Geoverarbeitungswerkzeug Replikat erstellen: Das Geoverarbeitungswerkzeug "Replikat erstellen" kann ebenfalls zum Erstellen von Replikaten verwendet werden. Das Werkzeug verfügt über zahlreiche Optionen. Einige der komplexeren Optionen des Assistenten "Replikat erstellen" sind jedoch nicht vorhanden.
Das Geoverarbeitungswerkzeug Replikat erstellen ist ideal in Situationen, in denen Sie in regelmäßigen Abständen Replikate erstellen müssen. Modelle und Skripte, die regelmäßig ausgeführt werden können, lassen sich leicht mit der Geoverarbeitungsumgebung erstellen. Zum Beispiel kann ein Modell erstellt werden, mit dem für Ihre Außendienstmitarbeiter täglich Check-Out-Replikate erstellt werden. Weitere Informationen finden Sie unter dem Geoverarbeitungswerkzeug "Replikat erstellen".
- ArcObjects-API: Zudem ist eine ArcObjects-API verfügbar, die das Verfassen von Code zum Erstellen von Replikaten in verschiedenen Sprachen unterstützt. Diese Option ist nützlich, wenn Sie die Erstellungsumgebung für Replikate anpassen möchten oder regelmäßig Replikate mit komplexen Optionen erstellen müssen.
- Integrieren Sie die Replikation in Ihre Versionierungsabläufe: Die Geodatabase-Replikation beruht auf der Versionierung. Bei der Replikaterstellung wird im Parent-Replikat und im Child-Replikat eine Replikatversion erstellt. In dieser Version senden und empfangen Sie Änderungen während der Synchronisierung. Weitere Informationen finden Sie unter Replikaterstellung und Versionierung.
Da die Replikatversion den Kanal bildet, durch den Änderungen synchronisiert werden, sollten Sie vor dem Erstellen der Replikate planen, wie Sie mit den Replikatversionen arbeiten möchten. Sie können z. B. planen, die während der Synchronisierung empfangenen Änderungen zu validieren, bevor Sie diese in den Haupt-Workflow integrieren. Zu diesem Zweck können Sie den Inhalt der Replikatversion nach einer Synchronisierung analysieren, anschließend abgleichen und in die normale Arbeitsversion zurückschreiben. Zudem kann die Default-Version als Replikatversion verwendet werden. Dies ist in Fällen nützlich, in denen Sie die Änderungen bei der Synchronisierung direkt in die Default-Version schreiben möchten.
- Definieren Sie die zu replizierenden Daten: Die Geodatabase-Replikation ermöglicht das Replizieren ausgewählter oder aller Datasets in der ArcSDE-Geodatabase. Außerdem können Sie mit Filtern und Beziehungsklassen die Features oder Zeilen definieren, die repliziert werden sollen. Während des Erstellens werden stets zuerst die Filter angewendet, anschließend werden über die Beziehungsklassen zusätzliche Features und Zeilen angehängt. Weitere Informationen finden Sie unter Vorbereiten von Daten für die Replikation.
Rechnen Sie beim Festlegen der zu replizierenden Daten Ihre zukünftigen Anforderungen ein. Zum Beispiel werden bidirektionale und unidirektionale Replikate einmal erstellt und viele Male synchronisiert. Die zum Zeitpunkt der Replikaterstellung definierten Filter werden auch bei der Synchronisierung angewendet. Mit der Zeit können sich Ihre Anforderungen dahingehend ändern, dass Sie einen größeren Replikatbereich benötigen. Zudem müssen Sie den Typ der zu replizierenden Daten beachten. Zur Beibehaltung der Datenintegrität werden beim Replizieren komplexer Datentypen, z. B. von geometrischen Netzwerken und Topologien, zusätzliche Regeln angewendet. In den folgenden Abschnitten der Hilfe werden diese Regeln beschrieben und Beispiele gezeigt: Geometrische Netzwerke, Topologien, Beziehungsklassen, Raster-Daten und Terrains und Netzwerk-Datasets.
- Wägen Sie die Optionen für die Replikaterstellung gegeneinander ab: Es sind nun weitere Optionen verfügbar, um den Prozess der Replikaterstellung so effizient wie möglich zu gestalten. Diese Optionen sind für bestimmte Fälle konzipiert und können möglicherweise auf Ihre Workflows angewendet werden. Dies muss jedoch nicht der Fall sein. In der folgenden Liste finden Sie Hinweise dazu, ob Sie diese Optionen nutzen können:
- Schema erneut verwenden: Mit der Option "Schema erneut verwenden" geben Sie eine Ziel-Geodatabase an, die bereits das Schema für die zu replizierenden Daten aufweist. Auf diese Weise sparen Sie Zeit, da beim Erstellen eines Replikats die Schemaerstellung übersprungen werden kann. Diese Option kann nur bei Check-Out-Replikaten verwendet werden, sollte aber immer eingesetzt werden, wenn dies möglich ist.
- Nur Schema: Die Option "Nur Schema" ermöglicht die Erstellung eines Replikats, ohne dass Zeilen repliziert werden. In diesem Fall wird beim Erstellen eines Replikats nur das Schema kopiert. Diese Option kann nur bei Check-Out-Replikaten verwendet werden. Dies ist beispielsweise beim Erstellen eines Replikats für Außendienstmitarbeiter nützlich, die nur neue Informationen eingeben sollen. Mit dieser Option sparen Sie die Zeit, die Sie benötigen würden, um im Assistenten die einzelnen Datasets auf "Nur Schema" festzulegen.
- Vorhandene Daten registrieren: Wenn Sie eine sehr große Datenmenge replizieren, bietet sich die Verwendung der Option "Vorhandene Daten registrieren" an. Die Option ermöglicht es Ihnen, beim Erstellen eines Replikats das Kopieren der Daten zu umgehen und lediglich ein neues Replikat zu registrieren. Sie können diese Option nur erfolgreich verwenden, wenn Sie vor dem Erstellen des Replikats eine bestimmte Reihe von Schritten ausführen. Beachten sie, dass diese Option bei Verwendung der Geoverarbeitungswerkzeuge nicht verfügbar ist.
- In Beziehung stehende Daten replizieren: Während der Replikaterstellung werden zuerst die Filter angewendet. Anschließend werden die Beziehungsklassen verarbeitet, um die zu replizierenden Daten zu ermitteln. Sie können die Verarbeitung der Beziehungsklassen deaktivieren, um Zeit zu sparen. Wenn Sie die Verarbeitung der Beziehungsklassen deaktivieren, werden die Beziehungsklassen zwar in die Erstellung und Synchronisierung einbezogen, aber nicht verarbeitet. In den erweiterten Abschnitten des Assistenten "Replikat erstellen" und des Geoverarbeitungswerkzeugs ist eine Option verfügbar, mit der Sie die Verarbeitung aller Beziehungsklassen deaktivieren können. Im Assistenten "Replikat erstellen" können Sie auch die Verarbeitung bestimmter Beziehungsklassen deaktivieren.
- Archivierung zum Verfolgen von Änderungen verwenden: Wenn Sie die Archivierung zum Verfolgen von Änderungen verwenden, anstatt die der Versionierung zugeordneten Delta-Tabellen, werden keine Systemversionen erstellt. Daher ist das Abgleichen, Zurückschreiben und Komprimieren nicht betroffen, sodass die Versionsverwaltung und Replikationsverwaltung unabhängig erfolgen kann. Außerdem kann der Zeitplan für die Synchronisierung dann flexibler gestaltet werden.
- Überlegen Sie, ob Sie eine verbundene oder eine nicht verbundene Umgebung verwenden: Replikate können in einer verbundenen oder in einer nicht verbundenen Umgebung erstellt werden. In einer vernetzten Umgebung werden die Erstellung und Synchronisierung ausgeführt, während eine Verbindung mit demselben Netzwerk besteht. In einer nicht vernetzten Umgebung wird das Netzwerk nicht verwendet. Das Erstellen und Synchronisieren erfolgt, indem Dateien, z. B. XML-Dokumente, exportiert, an das Ziel gesendet und in dieses importiert werden. Weitere Informationen finden Sie unter Verbundene und nicht verbundene Replikation.
Wenn das Netzwerk verfügbar, aber nicht zuverlässig ist, können Sie sich ebenfalls für eine nicht verbundene Replikation entscheiden. Replikaterstellungsvorgänge in einem langsamen Netzwerk können sich als zeitraubend und unzuverlässig erweisen. Bei einer nicht verbundenen Replikation können Sie einen Export in eine Datei vornehmen und weiterarbeiten, ohne auf das Senden der Informationen über das Netzwerk warten zu müssen. In diesem Fall empfiehlt es sich jedoch, Sicherungskopien dieser Dateien für den Fall zu erstellen, dass diese verloren gehen, bevor sie in das Ziel importiert werden.
Synchronisieren von Replikaten
Sobald ein Replikat erstellt wurde, können sie mit dem Synchronisieren der Änderungen zwischen den Replikat-Geodatabases beginnen. Informationen zur Synchronisierung finden Sie unter Synchronisierung. Um eine effiziente Funktion Ihres Systems sicherzustellen, ist es wichtig, eine Strategie für die Synchronisierung der Änderungen zu erarbeiten. Beim Bestimmen der optimalen Strategie für Ihr System sollten Sie die folgenden Punkte beachten.
- Synchronisierungsmethoden: Bestimmen Sie zunächst die beste Synchronisierungsmethode für Ihre Anforderungen. In der folgenden Liste finden Sie einige Optionen:
- Manuelle Synchronisierung: Wenn Sie mit einer geringen Anzahl von Replikaten arbeiten und nur gelegentlich Änderungen synchronisieren möchten, empfehlen sich die von ArcGIS bereitgestellten Werkzeuge. Die Werkzeugleiste "Verteilte Geodatabase" und das Kontextmenü "Verteilte Geodatabase" im Kataloginhaltsverzeichnis bieten jeweils Assistenten zum Ausführen der Synchronisierung. Diese Assistenten sind für Geodatabase-Verbindungen und für GeoDataServer-Objekte verfügbar, die über ArcGIS for Server im Kataloginhaltsverzeichnis bereitgestellt werden. Dies ermöglicht die Synchronisierung über lokale Verbindungen und über Remote-Verbindungen über das Internet. Zudem stehen Geoverarbeitungswerkzeuge für verteilte Geodatabases zur Verfügung, die dieselben Funktionen bieten.
- Automatisierte Synchronisierung mit Agents: In einem System, in dem zahlreiche Replikate vorhanden sind und/oder häufig Synchronisierungen stattfinden, empfiehlt sich das Erstellen eines Replikations-Agents. Mit Replikations-Agents werden automatisch Verbindungen mit replizierten Geodatabases hergestellt und Synchronisierungen ausgeführt. In diesem Fall müssen Endbenutzer die Datenbanken nicht explizit synchronisieren, da die Synchronisierung automatisch vorgenommen wird. In einer vernetzten Umgebung können zum Erstellen von Synchronisierungs-Agents die folgenden Verfahren verwendet werden:
- Synchronisierung mit Geoverarbeitungswerkzeugen: Mit Geoverarbeitungswerkzeugen können Sie problemlos Modelle zum Synchronisieren von Replikaten über lokale Geodatabase-Verbindungen oder über Verbindungen mit Geodaten-Serverobjekten im Internet erstellen. Solche Modelle können in Python-Skripte exportiert und in Python ausgeführt werden. Die Befehle zum Ausführen dieser Skripte können einer Planungssoftware, z. B. dem Windows-Taskplaner, hinzugefügt werden, sodass sie regelmäßig ausgeführt werden können. Sie können beispielsweise eine wöchentliche Synchronisierung zwischen zwei Enterprise-Geodatabases in Zeiten mit geringer Auslastung planen.
- Synchronisierung mit ArcObjects: Die Synchronisierung wird durch die ArcObjects-API vollständig unterstützt. Die API ermöglicht Ihnen das Erstellen eines komplexeren Synchronisierungs-Agents, als es mit den Geoverarbeitungswerkzeugen der Fall ist. Zum Beispiel können Sie Funktionen zum Synchronisieren des Laptops einsetzen, die ausgelöst werden, wenn das Betriebssystem erkennt, dass ein unterwegs verwendeter Laptop mit dem Netzwerk verbunden ist.
- Synchronisierung und Konflikte: Wenn Änderungen an den Daten eines Replikats mit zu synchronisierenden Änderungen in einem relativen Replikat in Konflikt stehen, müssen Sie bestimmen, wie dieser Konflikt gelöst werden soll. Eine Abgleichmethode kann angewendet werden, um die Konflikte automatisch zu lösen oder die manuelle Konfliktlösung zu einem späteren Zeitpunkt zu aktivieren. Lesen Sie Synchronisierung und Versionierung, um zu überprüfen, ob diese Überlegungen für Ihr System relevant sind. Eine Alternative zur Arbeit mit Konflikten besteht im Erstellen eines Systems zum Verarbeiten von Konflikten mit der ArcObjects-API. In einem solchen System wird für Synchronisierungen eine manuelle Abgleichmethode verwendet, jedoch wird anschließend automatisch ein sekundärer Prozess ausgeführt, mit dem möglicherweise aufgetretene Konflikte gelöst werden.
- Zu synchronisierende Daten: Bei Check-Out-Replikaten werden sämtliche Datenänderungen im Child-Replikat synchronisiert. Bei bidirektionalen und unidirektionalen Replikaten werden nur Änderungen angewendet, die die Anforderungen der Filter und Beziehungsklassen erfüllen. Der Replikat-Manager kann verwendet werden, um die Filter und Regeln für Beziehungsklassen zu ermitteln, die auf die einzelnen replizierten Datasets angewendet wurden. Sie können auch einen Replikat-Footprint erstellen, um diese Informationen lokal zu speichern und den räumlichen Filter jedes Replikats sichtbar zu machen.
Zur Beibehaltung der Datenintegrität werden beim Synchronisieren komplexer Datentypen, z. B. von geometrischen Netzwerken und Topologien, zusätzliche Regeln angewendet. Durch die Verarbeitung von Beziehungsklassen kann der Umfang der zu synchronisierenden Daten ebenfalls erhöht werden. Lesen Sie die folgenden Themen, um sich mit der Synchronisierung unterschiedlicher Datentypen vertraut zu machen: Synchronisieren einer Topologie, Synchronisieren von in Beziehung stehenden Daten und Synchronisieren von geometrischen Netzwerken.
Metadaten von Daten, die zum Replizieren ausgewählt wurden, werden während der Replikaterstellung kopiert. Allerdings werden Änderungen an den Metadaten während der Replikatsynchronisierung nicht übernommen.
- Datenvolumen: Beim Synchronisieren werden nur die seit der letzten Synchronisierung vorgenommenen Änderungen angewendet. ArcGIS filtert sämtliche Änderungen heraus, die bereits gesendet und bestätigt wurden. Zudem wird eine einmal gesendete Änderung niemals an das ursprüngliche Replikat zurückgesendet. Auf diese Weise werden die Datenvolumen auf den tatsächlichen Bedarf begrenzt.
Planen sie die Häufigkeit, mit der Sie die Synchronisierungen ausführen möchten, so, dass diese der Häufigkeit der Anwendung von Datenänderungen entspricht. Wenn die Synchronisierung für das Änderungsvolumen nicht häufig genug vorgenommen wird, kann dieser Vorgang eine lange Zeit in Anspruch nehmen. Zudem wird empfohlen, die Synchronisierung in Zeiten mit geringer Auslastung auszuführen. In einer nicht vernetzten Umgebung sollten Sie beim Export von Datenänderungen anstelle von unkomprimierten Formaten wie XML-Dateien stets ZIP-Dateien verwenden. Außerdem wird ein Workflow empfohlen, bei dem regelmäßig Bestätigungsmeldungen gesendet werden.
- Synchronisierungsreihenfolge der Replikate: Wenn Sie mit mehreren Replikaten arbeiten, ist die Reihenfolge, in der diese synchronisiert werden, möglicherweise wichtig. Angenommen, Sie erstellen aus einer einzelnen ArcSDE-Geodatabase mehrere bidirektionale Replikate. Eine Strategie für die Synchronisierung dieser Replikate besteht in der Synchronisierung jedes Child-Replikats mit dem jeweiligen Parent-Replikat in beiden Richtungen. In diesem Fall sendet das Child-Replikat Änderungen an das Parent-Replikat. Anschließend sendet das Parent-Replikat Änderungen an das Child-Replikat. Eine andere Strategie besteht darin, dass das Child-Replikat zuerst seine Änderungen an das Parent-Replikat sendet. Das Parent-Replikat integriert sämtliche Änderungen und sendet Änderungen zurück an alle Child-Replikate. Im ersten Fall sendet das Parent-Replikat nur die eigenen Änderungen, während es im zweiten Fall zusätzlich die integrierten Änderungen aus anderen Replikaten sendet. Je nach Anforderungen des Systems kann sich eine Strategie besser als die anderen eignen.
- Schemaänderungen: Die Geodatabase-Replikation ist so konzipiert, dass Schemaänderungen zulässig sind. Dies bedeutet, dass Synchronisierungen auch dann erfolgreich ausgeführt werden, wenn an den replizierten Daten Schemaänderungen vorgenommen wurden. Bis zu einem gewissen Grad können Sie Schemaänderungen replikatübergreifend anwenden. Unter Arbeiten mit Schemaänderungen finden Sie weitere Informationen.
Im Allgemeinen sollten Schemaänderungen möglichst gering gehalten werden. Wenn Sie Schemaänderungen replikatübergreifend anwenden möchten, sollten Sie diesen Vorgang gut strukturieren. Wenn Sie zum Beispiel replikatübergreifend ein Feld hinzufügen möchten, fügen Sie das Feld zunächst der Feature-Class im Parent-Replikat der obersten Ebene hinzu. Führen Sie dann einen Vorgang aus, bei dem die Schemaänderung in absteigender Reihenfolge der Ebenen auf alle Replikate angewendet wird. Weitere Informationen finden Sie unter Schemaänderungen und Replikate.
- Abarbeiten der Fehler: Fehler können während der Synchronisierung aus unterschiedlichen Gründen auftreten. In einem vernetzten System kann ein Computernetzwerk ausfallen, oder Sie versuchen, ein Replikat zu synchronisieren, das in einem Konflikt steht. In einem nicht vernetzten System können Meldungen verloren gehen, oder Sie versuchen versehentlich, die Meldungen in einer falschen Reihenfolge zu importieren. Das System wurde so entwickelt, dass es in diesen Fällen in einem konsistenten Zustand verbleibt. Änderungen werden rückgängig gemacht, und nicht ordnungsgemäße Meldungen werden zurückgewiesen. Im Replikataktivitätsprotokoll finden Sie sämtliche Fehler, und ggf. können Sie anhand des Protokolls über auszuführende Aktionen entscheiden. Wenn Sie einfach die Synchronisierung der Änderungen fortsetzen, führt das System in den meisten Fällen eine automatische Wiederherstellung nach Fehlern aus. Replikate enthalten außerdem Erstellungsinformationen, denen die jeweilige Anzahl der gesendeten und empfangenen Änderungssätze entnommen werden kann. Weitere Informationen finden Sie unter Verwalten von Replikaten.