Nachdem Sie nun mit dem Basisprozess für die Replikation vertraut sind, implementieren wir die Replikation nachhaltiger.
Das Einrichten und Pflegen der Replikation ist durch die Ausführung von SQL-Anweisungen in der SQL-Konsole möglich. Dieser Ansatz bedeutet jedoch, dass die Objekte, die in der Datenbank angelegt werden, Ihrer Benutzer-ID gehören. Dies kann zu Problemen führen, wenn andere die Objekte übernehmen müssen. Außerdem ist der Transport der Datenbankobjekte nicht möglich.
Es wird empfohlen, die Objekte mithilfe von Quelldateien zu entwickeln und dann die Datenbankartefakte in einem HDI-Container zu erstellen/zu deployen.
Die Replikationsaufgabe

Um Replikationen zu verwalten, legen Sie eine .hdbreptask-Datei an, um die Metadaten der Replikation zu definieren. Die Metadaten beschreiben Folgendes:
- Remote-Quelle
Name des Remote-Quellobjekts, das für den Zugriff auf die Quelldaten verwendet wird.
- Remote-Quellobjekt
Name der Tabelle, Sicht oder Datei, auf die Sie zugreifen möchten.
- Zieltabelle
Name der Tabelle, in der die replizierten Daten gespeichert werden
- Replikationsverhalten
Sie können alle Daten nur einmal replizieren. Dies wird in der Regel als Erstdatenübernahme bezeichnet. Dies ist nützlich, wenn Sie eine Momentaufnahme Ihrer Daten wünschen. Sie können auch die Echtzeitreplikation ohne Erstdatenübernahme wählen, wenn Sie nur zukünftige Daten benötigen. Dann können Sie auch Änderungen in der Struktur der Tabelle replizieren.
Folgende Optionen stehen zur Verfügung:
- Keine Datenübernahme
Wenn Sie nur eine Kopie der Quelldatenstruktur wünschen, jedoch ohne die Quelldaten. Dies entspricht einer CREATE TABLE <...(new table)> like <...(existing table)>Anweisung.
- Nur Erstdatenübernahme
Wenn Sie nur eine Kopie der aktuellen Daten, aber keine Replikation zukünftiger Daten wünschen. Dies wird als Snapshot bezeichnet.
- Initial + Echtzeit
Wahrscheinlich möchten Sie aktuelle Daten und zukünftige Änderungen.
- Initial + Echtzeit mit Struktur
Dies entspricht der vorherigen Option, repliziert jedoch auch die Änderungen in der Quelltabellenstruktur. Funktioniert nur für Tabellen.
- Echtzeit
Sie können nur zukünftige Daten, aber keine aktuellen Daten benötigen.
- Echtzeit nur mit Struktur
Wie die vorherige Option, jedoch mit Replikation der Tabellenstruktur.
Nach dem Build/Deployment generiert die Replikationsaufgabe die verschiedenen Objekte, die in der SAP-HANA-Datenbank benötigt werden. Dazu gehören:
- Eine virtuelle Tabelle
- Eine Zieltabelle
- Eine Startprozedur (.START_REPLICATION) zum Einrichten der Replikation
- Ein zweites Verfahren (.RS_SP) zum Ausführen einzelner Subskriptionsbefehle
Sie müssen die Hauptstartprozedur aufrufen, um die Remote-Subskription, Trigger usw. anzulegen. Die Replikationsaufgabe führt nur eine Erstdatenübernahme aus.
Die zweite Prozedur kann zur Pflege oder zum Ausführen einzelner Befehle wie Zurücksetzen, Löschen oder anderer Subskriptionsschritte aufgerufen werden.
Einrichtung des Projekts
Wenn es sich bei Ihrem Ziel um eine On-Premise-SAP-HANA-Datenbank handelt, verwenden Sie die Web IDE für SAP HANA.
Wenn Ihr Ziel eine SAP-HANA-Cloud-Datenbank ist, verwenden Sie SAP Business Application Studio.
Für beide Werkzeuge müssen Sie zunächst ein Projekt und ein HDB-Modul einrichten, um Ihre Entwicklungsobjekte zu verwalten.
Für den Zugriff auf die Remote-Quellen sind die folgenden Schritte erforderlich:
- Legen Sie einen User-Provided Service (UPS) als Ressource in Ihrer Datei mta.yaml an, und fügen Sie ihn dann hinzu.
- Fügen Sie Privilegien in einer .hdbgrants-Datei hinzu.
Sie können den vom Benutzer bereitgestellten Service direkt in SAP Business Application Studio anlegen, wie in der folgenden Bildaufnahme gezeigt:

Notiz
Wenn Ihr Ziel eine On-Premise-Datenbank ist, können Sie den User-Provided Service im XSA Cockpit anlegen:

Notiz
Achten Sie darauf, das "hana"-Tag hinzuzufügen, wenn es nicht von der Vorlage bereitgestellt wird.
Die Vorlage stellt keinen Schemaparameter bereit, aber Sie können auch einen bestimmten Schemanamen angeben.
Die .hdbgrants-Datei muss die erforderlichen Berechtigungen sowohl für den Objekteigentümer als auch für den Anwendungsbenutzer enthalten, wie im folgenden Beispiel gezeigt:

Starten Sie das folgende Video, um zu erfahren, wie Sie das Projekt in Business Application Studio einrichten:
Starten Sie das folgende Video, um zu erfahren, wie Sie das Projekt in SAP Web IDE einrichten, wenn Ihr Ziel eine On-Premise-Datenbank ist:
Replikationsaufgabenerstellung
Sobald Ihr Projekt korrekt eingerichtet ist, können Sie die Replikationsaufgabe mit dem formularbasierten Editor anlegen:

Die Schritte sind wie folgt:
- Stellen Sie eine Verbindung zur Remote-Quelle her.
- Wählen Sie das gewünschte Quellobjekt aus.
- Replikationsverhaltenseigenschaft auswählen
- Build/Deploy
- Führen Sie im Datenbank-Explorer die generierte Startprozedur aus.
- Quelldaten ändern
- Zieltabelle prüfen
Starten Sie das folgende Video, um zu erfahren, wie Sie eine Replikationsaufgabe anlegen: