In dieser Anleitung wird beschrieben, wie SAP LT Replication Server-Administratoren, SAP-Data-Engineers oder andere operative Aufgaben wie die Leistungsoptimierung und Versionsaktualisierungen für Version 2.0 und 2.1 von BigQuery-Connector für SAP ausführen.
Replikationsleistung optimieren
Die Replikationsleistung kann von mehreren Faktoren beeinflusst werden. Die spezifischen Faktoren können sich von Installation zu Installation unterscheiden und sich im Laufe der Zeit ändern.
In den folgenden Abschnitten wird erläutert, wie Sie einige gängige Faktoren optimieren, die sich auf die Leistung auswirken können.
Weitere Informationen zur Replikationsleistung bei BigQuery-Connector für SAP finden Sie unter Leistungsplanung.
Leistungsoptionen für Tabellen festlegen
In SAP LT Replication Server können Sie Replikationsoptionen für jede Tabelle angeben, die sich auf die Leistung auswirkt.
Insbesondere die Replikationsleistung für große Tabellen, die mehr Zeit und Ressourcen für die Replikation erfordern, kann von der Angabe von Bereichen und der Erhöhung der maximalen Anzahl paralleler Replikationsjobs, die für die Tabelle verwendet werden können, profitieren.
Beispiele für häufig groß werdende Tabellen sind MSEG
, ACDOCA
und MATDOC
.
Wenn Sie parallele Replikationsjobs für große Tabellen angeben, müssen Sie die Anzahl der für eine bestimmte Tabelle zulässigen parallelen Jobs mit der Gesamtzahl der parallelen Jobs abstimmen, die in der Massenübertragungskonfiguration zulässig ist. Ihre Organisation kann auch die Anzahl der parallelen Replikationsjobs begrenzen, die Sie für einen bestimmten Server angeben können.
So legen Sie Leistungsoptionen für eine Tabelle fest:
Geben Sie in der SAP-GUI die SAP-Transaktion
LTRS
ein.Geben Sie auf dem Bildschirm Erweiterte Replikationseinstellungen die ID der Massenübertragungseinstellungen für die Tabelle an.
Klicken Sie in der Ordnerhierarchie Erweiterte Replikationseinstellungen auf den Ordner Leistungsoptionen, um die Tabellen anzuzeigen, für die Leistungsoptionen definiert sind.
Wenn die gewünschte Tabelle nicht aufgeführt ist, klicken Sie mit der rechten Maustaste auf den Ordner Leistungsoptionen und wählen Sie Tabelle hinzufügen aus.
Geben Sie einen Namen für die Tabelle an.
Geben Sie nach Bedarf die folgenden Optionen an:
- Unter Allgemeine Leistungsoptionen:
- Anzahl der parallelen Jobs, um die maximale Anzahl paralleler Replikationsjobs festzulegen, die für die Tabelle verwendet werden können.
- Sequenznummer, um die Replikation dieser Tabelle im Vergleich zu anderen Tabellenreplikationen zu priorisieren.
- Unter Optionen für anfängliches Laden:
- Wählen Sie für Lesetyp die Option Lesetyp 1 Bereichsberechnung aus, wenn Ihre Tabelle nicht zu groß ist. Weitere Informationen finden Sie unter Leistung und erweiterte LTRS-Replikationseinstellungen.
- Geben Sie unter Paketgröße in Byte die Größe der Datensatzbereiche an, die an SAP LT Replication Server gesendet werden.
- Wenn Sie einen Lesetyp auswählen, der Bereiche verwendet, definieren Sie die entsprechenden Bereiche.
- Unter Replikationsoption:
- Geben Sie für Bereiche für Logging-Tabelle die Option Keine Bereiche an, um die zuverlässigste Option zu verwenden.
- Wenn Sie Bereiche für manuell angeben auswählen, definieren Sie die entsprechenden Bereiche.
- Unter Allgemeine Leistungsoptionen:
Klicken Sie auf Speichern.
Baseline-Leistungsbenchmark
Damit Sie die Replikationsleistung besser bewerten können, enthält dieser Abschnitt Baseline-Leistungszahlen, die in Google Cloud-Testsystemen beobachtet wurden.
Aufgrund der vielen verschiedenen Faktoren, die sich auf die Leistung auswirken, variieren Ihre Leistungszahlen wahrscheinlich.
Wenn Ihre SAP-Systeme beispielsweise nicht in Google Cloud ausgeführt werden, sind die Last- und Replikationsraten aufgrund von Netzwerklatenz und dem mit Zugriffstokens verbundenen Overhead möglicherweise langsamer als die Baseline-Raten. Wenn Ihre Quelltabelle weniger Spalten enthält oder Sie SAP LT Replication Server auf einem eigenen Server in einer eigenständigen Architektur installieren, sind Ihre Raten möglicherweise schneller, da SAP LT Replication Server nicht mit den Quellsystem um Ressourcen konkurrieren muss.
Beobachtete Baseline-Leistungszahlen
Die folgenden Leistungszahlen stellen die Baseline-Leistung dar, die von Google Cloud für jeden Quellsystemtyp während der Tests beobachtet wurde. In jedem Testsystem wurde SAP LT Replication Server in dem SAP-Quellsystem in einer eingebetteten Architektur auf Compute Engine-VMs installiert. Das SAP-Quellsystem wurde in derselben Google Cloud-Region wie das BigQuery-Ziel-Dataset ausgeführt.
Informationen zur Konfiguration der Testsysteme finden Sie unter Systemkonfiguration für Baseline-Leistungstests.
Klicken Sie auf den Typ Ihres Quellsystems, um die Leistungszahlen anzuzeigen:
S/4HANA
- Tabelle: ACDOCA
- 343 Millionen Datensätze
- 477 Spalten
- Anfänglicher Ladevorgang
- Laderate: durchschnittlich 350 Millionen Datensätze pro Stunde
- Ladedauer: durchschnittlich 59 Minuten
- Replikation
- Änderungsrate der Quelltabelle: durchschnittlich 50 Millionen Datensätze pro Stunde
- Maximale Replikationsrate: durchschnittlich 50 Millionen Datensätze pro Stunde
ECC
- Tabelle: MSEG
- 203 Millionen Datensätze
- 188 Spalten
- Anfänglicher Ladevorgang
- Laderate: durchschnittlich 385 Millionen Datensätze pro Stunde
- Ladedauer: durchschnittlich 32 Minuten
- Replikation
- Änderungsrate der Quelltabelle: durchschnittlich 50 Millionen Datensätze pro Stunde
- Maximale Replikationsrate: durchschnittlich 69 Millionen Datensätze pro Stunde
Die obigen Leistungszahlen sind die von den Google Cloud-Testern beobachteten Baselines.
Die beobachtete Leistung war in Testsystemen mit den folgenden Attributen besser:
- SAP LT Replication Server wurde auf einer eigenen VM in einer eigenständigen Architektur installiert.
- Bei S/4HANA-Systemen wurde festgestellt, dass eine eigenständige Architektur aufgrund der unabhängigen Skalierung der SAP LT Replication Server-Prozesse eine um etwa 42 % schnellere anfängliche Laderate als eine eingebettete Architektur hat.
- Bei ECC-Systemen wurde festgestellt, dass eine eigenständige Architektur aufgrund der unabhängigen Skalierung der SAP LT Replication Server-Prozesse eine um etwa 10 % schnellere anfängliche Laderate als eine eingebettete Architektur hat.
- Die Quelltabelle enthielt weniger Spalten.
- Die Gesamtbytegröße der Datensätze war kleiner.
Informationen zu den Systemattributen, die Sie zur Leistungsverbesserung ändern können, finden Sie unter:
Systemkonfiguration für Baseline-Leistungstests
Die in diesem Abschnitt beschriebenen Testsysteme haben die Baseline-Leistungszahlen erzeugt, die im vorherigen Abschnitt Beobachtete Baseline-Leistungszahlen aufgeführt sind.
Die Testsysteme, einschließlich SAP-Quellsystem, SAP LT Replication Server und BigQuery-Dataset, wurden alle auf Compute Engine-VMs in derselben Google Cloud-Region ausgeführt.
In jedem System wurden die Server und die Arbeitslast dafür eingerichtet, eine höhere Arbeitslast und ein höheres Replikationsvolumen zu simulieren, als Sie in vielen realen Installationen finden werden.
Klicken Sie auf den Typ Ihres Quellsystems, um die Testsystemattribute aufzurufen:
S/4HANA
- Installationsarchitektur von LT Replication Server:
- Eingebettete Architektur
- Quellsystemserver:
- Zwei Anwendungsserver, jeweils auf einem N2-basierten benutzerdefinierten Maschinentyp von Compute Engine mit den folgenden Spezifikationen:
- vCPUs: 60
- Arbeitsspeicher: 324 GB
- CPU-Plattform: Intel Cascade Lake
- Ein SAP HANA-Server auf einer Compute Engine-VM
m1-ultramem-80
mit den folgenden Spezifikationen:- vCPUs: 80
- Arbeitsspeicher: 1.900 GB
- CPU-Plattform: Intel Broadwell
- Zwei Anwendungsserver, jeweils auf einem N2-basierten benutzerdefinierten Maschinentyp von Compute Engine mit den folgenden Spezifikationen:
- Software-Versionen:
- S/4HANA 1909
- SAP LT Replication Server: S/4CORE 104 SP00
- Tabellengröße:
- Tabellenname: ACDOCA, allgemeine Positionsdaten von Ledger-Journal-Datensätzen
- Anzahl der Datensätze: 343 Millionen
- Spaltenanzahl: 477
- Arbeitsprozesse auf jedem Anwendungsserver:
- 60 Dialogprozesse
- 220 Hintergrundprozesse
- Ladeeinstellungen in SAP LT Replication Server:
- Jobs: 99
- Lesetyp: 1 Bereich
- Berechnung: Automatische Bereiche
- Replikationseinstellungen:
- Jobs: 99
- Schlüsselfelder zur Berechnung von Bereichen für die Logging-Tabelle verwenden
- 128 Bereiche
ECC
- Installationsarchitektur von LT Replication Server:
- Eingebettete Architektur
- Quellsystemserver:
- Zwei Anwendungsserver auf jeweils einer
n2-highmem-48
Compute Engine-VM mit den folgenden Spezifikationen:- vCPUs: 60
- Arbeitsspeicher: 348 GB
- CPU-Plattform: Intel Cascade Lake
- Zwei Anwendungsserver auf jeweils einer
- Software-Versionen:
- SAP NetWeaver: 7.0 EHP2
- SAP LT Replication Server: DMIS 2011_1_700 SP17
- Tabellengröße:
- Tabelle: MSEG, Dokumente zur Materialinventarverwaltung
- Anzahl der Datensätze: 203 Millionen
- Spaltenanzahl: 188
- Arbeitsprozesse auf jedem Anwendungsserver:
- 60 Dialogprozesse
- 100 Hintergrundprozesse
- Ladeeinstellungen in SAP LT Replication Server:
- Jobs: 99
- Lesetyp: 5 Sender
- Warteschlange: Manuelle Bereiche
- Replikationseinstellungen:
- Jobs: 99
- Bereiche für Logging-Tabelle: Bereiche mithilfe von Schlüsselfeldern berechnen
- Anzahl der Bereiche: 128
Einstellungen für die Massenübertragung in die Produktion transportieren
Wenn Sie Massenübertragungseinstellungen in die Produktion übertragen möchten, exportieren Sie zuerst die Einstellungen aus einem Entwicklungssystem und importieren sie diese dann in das Produktionssystem.
Sie können optional drei separate Teile der Einstellungen einer Massenübertragung in die Produktion importieren:
- Die erweiterten Replikationseinstellungen, auf die über die Transaktion
LTRS
zugegriffen werden kann. - Die Clientschlüsseleinstellungen aus der Tabelle
/GOOG/CLIENT_KEY
, auf die über die TransaktionSM30
zugegriffen werden kann. - BigQuery Connector für SAP – die Einstellungen für die Massenübertragung, auf die mit der Transaktion
/GOOG/SLT_SETTINGS
zugegriffen werden kann.
Massenübertragungseinstellungen aus einem Entwicklungssystem exportieren
Exportieren Sie im SAP LT Replication Server-Entwicklungssystem jeden Teil der Massenübertragungseinstellungen:
Exportieren Sie die erweiterten Replikationseinstellungen:
- Führen Sie die Transaktion
LTRS
aus. - Wählen Sie die Massenübertragungsdatensätze aus, die Sie in die Produktion übertragen.
- Wählen Sie im Drop-down-Menü Datei die Option Alle Einstellungen exportieren aus.
- Wählen Sie im Dialogfeld Exporteinstellungen ein Ziel aus und klicken Sie auf Speichern. Die Einstellungen werden in einer komprimierten Datei im CSV-Format auf Ihrer lokalen Workstation gespeichert.
- Führen Sie die Transaktion
Exportieren Sie die BigQuery-Connector für SAP-Übertragung-Massenübertragungseinstellungen:
Führen Sie die Transaktion
/GOOG/SLT_SETTINGS
aus:/n/GOOG/SLT_SETTINGS
Wählen Sie im Feld Einstellungstabelle die Option Massenübertragung aus.
Wählen Sie die Massenübertragungsdatensätze aus, die Sie in die Produktion übertragen.
Klicken Sie auf Massentransfer übertragen.
Geben Sie in die Eingabeaufforderung für Workbench-Anfrage die Nummer der Übertragungsanfrage ein und klicken Sie auf Weiter. Für jeden ausgewählten Massenübertragungsdatensatz sind die Einstellungen aus den folgenden benutzerdefinierten Konfigurationstabellen in der Übertragung enthalten:
/GOOG/BQ_MASTR
/GOOG/BQ_TABLE
/GOOG/BQ_FIELD
Die Einstellungen für die Massenübertragung werden in einer Übertragungsanfrage gespeichert.
Exportieren Sie die Einstellungen für den Clientschlüssel, indem Sie den Inhalt der Tabelle
/GOOG/CLIENT_KEY
manuell in die Übertragungsanfrage aufnehmen.Speichern Sie die Dateien auf Ihrer lokalen Workstation.
Massenübertragungseinstellungen in ein Produktionssystem importieren
Importieren Sie in das SAP LT Replication Server-Produktionssystem alle Teile der Massenübertragungseinstellungen:
Erstellen Sie eine SAP LT Replication Server-Replikationskonfiguration für die Massenübertragungseinstellungen.
Importieren Sie die erweiterten Replikationseinstellungen:
- Führen Sie die Transaktion
LTRS
aus. - Wählen Sie die im ersten Schritt erstellte Massenübertragung aus.
- Wählen Sie im Drop-down-Menü Datei die Option Alle Einstellungen importieren aus.
- Wählen Sie im Dialogfeld Datei auswählen die komprimierte Datei von Ihrer lokalen Workstation aus und klicken Sie auf Öffnen. Die Einstellungen werden als Einstellungen für die Massenübertragung importiert.
- Führen Sie die Transaktion
Importieren Sie die Übertragungsanfrage, die die Massenübertragungseinstellungen enthält.
Führen Sie die Transaktion
SM30
aus.Aktualisieren Sie die Clientschlüsseleinstellungen nach Bedarf für die Produktionsumgebung.
Führen Sie die Transaktion
/GOOG/SLT_SETTINGS
aus:/n/GOOG/SLT_SETTINGS
Prüfen Sie, ob im Bildschirm Massenübertragungen die Massenübertragungen angezeigt werden.
Ersetzen Sie in der Spalte Massenübertragungs-ID die Massenübertragungs-ID aus dem Entwicklungssystem durch die Massenübertragungs-ID aus der Replikationskonfiguration, die Sie im ersten Schritt erstellt haben.
Aktualisieren Sie in den nachfolgenden Einstellungsbildschirmen für Tabellen und Felder weitere Werte für die Zuordnung von Tabellen und Feldern, die für die Produktionsumgebung erforderlich sind.
Starten Sie einen anfänglichen Ladevorgang oder eine Replikation, um die Konfiguration zu testen. Weitere Informationen zum Starten eines anfänglichen Ladevorgangs oder einer Replikation finden Sie unter:
- Wenn SAP LT Replication Server auf einer Compute Engine-VM ausgeführt wird, finden Sie weitere Informationen unter Replikation testen.
- Wenn SAP LT Replication Server auf einem Host außerhalb von Google Cloud ausgeführt wird, finden Sie weitere Informationen unter Replikation testen.
BigQuery-Connector für SAP aktualisieren
Google Cloud stellt neue Releases von BigQuery-Connector für SAP als SAP-Transporte bereit.
SAP-Administratoren können BigQuery Connector für SAP so aktualisieren:
- Deaktivieren Sie die Konfiguration in SAP LT Replication Server.
- Importieren Sie die neue SAP-Transport-Anfrage.
- Nachdem Sie die erfolgreiche Import- und Objektaktivierung validiert haben, aktivieren Sie die Konfiguration in SAP LT Replication Server.
gcloud CLI aktualisieren
Sie müssen Google Cloud-CLI auf dem SAP LT Replication Server-Host aktualisieren.
Weitere Informationen zum Verwalten der gcloud-Befehlszeile finden Sie unter Komponenten der gcloud CLI verwalten.
Monitoring
Sie können mehrere verschiedene Punkte entlang des Datenpfads von der SAP-Datenquelle zur BigQuery-Zieltabelle überwachen, darunter:
- Infrastruktur – Netzwerk, Hardware und Betriebssystem
- SAP-Datenbankebene
- SAP-Anwendungsebene
- BigQuery-Connector für SAP
- BigQuery
Ihre Monitoring-Optionen an jeder dieser Stellen werden in den folgenden Unterabschnitten erläutert.
Infrastruktur überwachen
In Google Cloud können Sie den Ops-Agent auf Ihren Host-VMs für erweitertes Monitoring und Logging installieren. Der Ops-Agent sendet die Daten an Cloud Monitoring in der Google Cloud Console.
Weitere Informationen finden Sie unter:
Für Systeme, die nicht in Google Cloud ausgeführt werden, können Sie auch Serverinformationen abrufen, indem Sie SAP-Transaktionen ausführen, z. B. die Transaktion ST06
.
Datenbankebene überwachen
Verwenden Sie SAP-Standardtransaktionscodes, um den Zustand der Datenbank zu überwachen.
Der Transaktionscode DBACOCKPIT
ist die gängigste Transaktion zur Überwachung der Datenbank. Diese Transaktion bietet außerdem detaillierte Logs, die Sie zur Fehlerbehebung verwenden können.
Für SAP HANA können Sie SAP HANA Studio für SAP HANA-Vorgänge verwenden. Sie können SAP HANA Studio auf jedem Frontend-Computer installieren.
Prüfen Sie bei der Behebung von Leistungs- oder anderen Problemen Folgendes in der Quelldatenbank:
- Teure SQL-Anweisungen
- Sperren
- Ladeverlauf
- Indexe
- Prozesse
Anwendungsebene überwachen
Sie können Tools für SAP-Monitoring- und -Fehlerbehebung für Anwendungen verwenden, um BigQuery-Connector für SAP zu überwachen und Fehler zu beheben, da es auf Anwendungsebene ausgeführt wird.
SAP-Monitoring und -Fehlerbehebung für Anwendungen können in folgende Kategorien unterteilt werden:
- Standardmäßiges SAP-Monitoring- und standardmäßige SAP-Fehlerbehebung
- BigQuery-Connector für SAP-Monitoring und -Fehlerbehebung
Für größere Umgebungen können Sie SAP Solution Manager als zentrales Monitoring-Tool verwenden.
Sie können die SAP-Transaktionscodes in der folgenden Liste verwenden, um Probleme in einzelnen SAP-Anwendungssystemen zu überwachen und zu diagnostizieren:
- SLT-Konfigurationsstatus:
LTRC
- SLT-Fehler und -Logs:
LTRO
undSLG1
- Internet Communication Manager (HTTP- und HTTPS-Aufrufe):
SMICM
- Sicherheit und Zertifikate:
STRUST
- SAP-Transporte:
STMS
- RFC-Verbindungen:
SM59
- Betriebssystembefehl:
SM69
- Paketprüfung:
SE80
- Autorisierungsprüfungen:
SU53
- Hintergrundjobs:
SM37
- Systemlogs:
SM21
BigQuery überwachen
Mit Cloud Monitoring können Sie BigQuery-Messwerte aufrufen und Diagramme und Benachrichtigungen erstellen. Jeder Messwert hat einen Ressourcentyp, entweder bigquery_dataset
, bigquery_project
oder global
, sowie einen Satz von Labels.
Verwenden Sie die Ressourcentypen und -labels, um Abfragen in Monitoring Query Language (MQL) zu erstellen.
Mithilfe der Labels können Sie jeden Messwert gruppieren oder filtern.
Weitere Informationen zu Monitoring finden Sie in der Dokumentation zu Cloud Monitoring.
Replikationsvalidierung
Wenn Sie beim Erstellen der BigQuery-Zieltabelle mit der Transaktion /GOOG/SLT_SETTINGS
das Flag für zusätzliche Felder auswählen, werden dem Tabellenschema mit jedem Datensatz, der die Replikation ausgelöst hat, und mit einem Zeitstempel, der angibt, zu welchem Zeitpunkt SAP LT Replication Server den Teil enthält, der den Datensatz enthielt, Spalten zum Speichern der Art der Änderung hinzugefügt.
Sie können die Änderungstypen und den Zeitstempel verwenden, um die folgenden Arten von Datensatzzahlen abzufragen:
- Die Anzahl der Datensätze, die während eines anfänglichen Ladevorgangs in eine BigQuery-Tabelle geladen werden
- Die Anzahl der Datensätze, die an einem bestimmten Tag in eine BigQuery-Tabelle repliziert werden
- Die Gesamtzahl der eindeutigen Datensätze in einer BigQuery-Tabelle
Um diese Anzahlen zu erhalten, können Sie die BigQuery-Tabelle direkt abfragen. Dazu senden Sie SQL-Abfragen in der Google Cloud Console oder führen das Tool zur Replikationsvalidierung aus. Dieses Tool generiert Berichte, in denen die Anzahl der BigQuery-Datensätze mit SAP LT Replication Server-Statistiken oder der Anzahl der Datensätze aus der Quelltabelle verglichen werden.
Eine Übersicht über das Flag der zusätzlichen Felder finden Sie unter Zusätzliche Felder für Datensatzänderungen und Anzahlabfragen.
Wie Sie das Flag für zusätzliche Felder angeben, erfahren Sie unter:
- Wenn SAP LT Replication Server auf einer Compute Engine-VM ausgeführt wird, finden Sie weitere Informationen unter Tabellenerstellung und andere allgemeine Attribute angeben.
- Wenn SAP LT Replication Server auf einem Host außerhalb von Google Cloud ausgeführt wird, finden Sie weitere Informationen unter Tabellenerstellung und andere allgemeine Attribute angeben.
SQL-Abfragen für Datensatzanzahl
Auf der BigQuery-Seite SQL-Editor in der Google Cloud Console können Sie SQL-Abfragen ausführen, um die Anzahl der Datensätze in Ihren BigQuery-Tabellen zu prüfen.
Anschließend können Sie die Anzahl der BigQuery-Einträge mit der Anzahl in der Quelltabelle oder in den Statistiken des SAP LT Replication Servers vergleichen.
Anzahl der Datensätze abfragen, die im anfänglichen Lademodus eingefügt wurden
Wenn ein BigQuery-Tabellenschema die optionale Spalte operation_flag
enthält, enthalten Datensätze, die im anfänglichen Lademodus in die Tabelle eingefügt werden, das Vorgangs-Flag L
.
Führen Sie die folgende Abfrage aus, um die Anzahl der Datensätze zu erhalten, die während eines anfänglichen Ladevorgangs von BigQuery empfangen wurden:
SELECT COUNT(*) FROM `PROJECT.DATASET.TABLE` WHERE operation_flag = 'L'
Anzahl der im Replikationsmodus eingefügten Datensätze abfragen
Wenn ein BigQuery-Tabellenschema die optionale Spalte operation_flag
enthält, enthalten Datensätze, die im Replikationsmodus in die Tabelle eingefügt werden, eines der folgenden Vorgangs-Flags:
I
: Der Datensatz wurde in die Quelltabelle eingefügt.D
: Der Datensatz wurde aus der Quelltabelle gelöscht.U
: Der Datensatz wurde in der Quelltabelle aktualisiert.
Führen Sie die folgende Abfrage aus, um die Anzahl der Datensätze zu ermitteln, die BigQuery im Replikationsmodus empfangen hat:
SELECT COUNT(*) FROM `PROJECT.DATASET.TABLE` WHERE operation_flag = 'I' | 'D' | 'U'
Gesamtzahl der Datensätze in einer BigQuery-Tabelle abfragen
Wenn ein BigQuery-Tabellenschema die optionale Spalte recordstamp
enthält, enthält das entsprechende recordstamp
-Feld jedes Datensatzes, der in die Tabelle eingefügt wird, einen Zeitstempel, der angibt, wann der Datensatz von SAP LT Replication Server an BigQuery gesendet wurde.
Um die Gesamtzahl der Datensätze in einer BigQuery-Tabelle zu ermitteln, die Sie mit der Gesamtzahl der Datensätze in einer Quelltabelle vergleichen können, können Sie mit den Feldern recordstamp
und is_deleted
eindeutige Datensätze in der BigQuery-Tabelle zählen, die nicht aus der Quelltabelle gelöscht wurden.
Wenn die Quelltabelle aktiv aktualisiert wird oder die Replikation beim Abfragen der Datensätze aktiv ist, stimmt die Anzahl der Datensätze in den Quell- und Zieltabellen möglicherweise nicht genau überein.
Führen Sie die folgende Abfrage aus, um die aktuelle Anzahl der eindeutigen Datensätze in der BigQuery-Zieltabelle abzurufen:
SELECT COUNT(*) FROM ( SELECT *, ROW_NUMBER() OVER (PARTITION BY KEY_FIELD_1, ..., KEY_FIELD_N ORDER BY recordstamp DESC) row_num FROM `PROJECT.DATASET.TABLE` ) WHERE row_num = 1 AND is_deleted = false
Replikationsvalidierungstool
Dieser Abschnitt bietet einen Überblick über das Tool zur Replikationsvalidierung und was Sie damit tun können.
Das Replication Validation-Tool generiert Berichte, die die Anzahl der Datensätze in der BigQuery-Tabelle mit Statistiken aus SAP LT Replication Server und der Anzahl der Datensätze in der Quelltabelle vergleichen. Wenn die Anzahl nicht genau übereinstimmt, kennzeichnet das Tool den Bericht mit einem roten Kreis.
Wenn Sie die Datensätze in BigQuery zählen möchten, verwendet das Tool die SQL-Abfragen, die im vorherigen Abschnitt SQL-Abfragen für Datensatzzahlen angezeigt werden.
Führen Sie das Replikations-Validierungstool regelmäßig aus, um zu prüfen, ob SAP LT Replication Server und BigQuery-Connector für SAP Datensätze wie erwartet in BigQuery replizieren.
Um das Replikations-Validierungstool auszuführen, geben Sie die benutzerdefinierte Transaktion /GOOG/REPLIC_VALID
mit vorangehendem /n
in der SAP-GUI ein. Eine detaillierte Anleitung finden Sie unter:
- Führen Sie das Replikations-Validierungstool aus, wenn SAP LT Replication Server auf einer Compute Engine-VM ausgeführt wird.
- führen Sie das Replikations-Validierungstool aus, wenn SAP LT Replication Server auf einem Host außerhalb von Google Cloud ausgeführt wird.
Berichte zur Replikationsprüfung
Mit dem Tool zur Replikationsvalidierung können Sie die folgenden Validierungsberichte erstellen:
- Anzahl der anfänglichen Ladevorgänge: Ein Vergleich der Anzahl der Datensätze, die von SAP LT Replication Server im Lademodus gesendet wurden, und der Anzahl der Datensätze, die in BigQuery geladen wurden
- Replikationszahlen: Vergleich der Anzahl der Datensätze, die von SAP LT Replication Server im Replikationsmodus gesendet wurden, sowie die Anzahl der Datensätze, die an einem bestimmten Tag in BigQuery eingefügt wurden.
- Aktuelle Anzahlen: Ein Zeitpunkt zu einem Vergleich der Anzahl der Datensätze in der Quelltabelle und der Anzahl der eindeutigen Datensätze in BigQuery
Sie können jeden Bericht einzeln generieren oder durch Ausführen von Alle Prüfungen beim Ausführen des Tools alle drei Berichte in einer einzigen Ausführung generieren.
Berichte zur Replikationsvalidierung anzeigen
Nachdem Sie einen Bericht erstellt haben, können Sie den Bericht anzeigen, indem Sie auf der Benutzeroberfläche des Replikations-Validierungstools im Abschnitt Verarbeitungsoptionen das Optionsfeld Bericht anzeigen auswählen.
Die Informationen, die das Replikationsvalidierungstool in den einzelnen Berichten anzeigt, unterscheiden sich geringfügig je nach Art des Berichts.
Alle Berichte enthalten die folgenden Arten von Informationen:
- Anzahl der Quelldatensätze aus den SAP LT Replication Server-Statistiken und der Quelltabelle
- Anzahl der Zieldatensätze aus der BigQuery-Zieltabelle
- Jeder Unterschied zwischen den beiden Zählungen Die Differenz wird durch Subtrahieren der BigQuery-Anzahl von den Quelldatensatzzahlen berechnet. Ein positiver Wert weist auf ein wahrscheinliches Problem hin, da er nahelegt, dass nicht alle Quelldatensätze ihn in BigQuery übertragen.
- Die Differenz in der Anzahl als Prozentsatz der Anzahl der Quelldatensätze.
- Ein visueller Indikator dafür, ob die Anzahl der Quellen und des Ziels gleich oder unterschiedlich sind
Ungleiche Datensatzanzahl
Das Replikationsvalidierungstool enthält ein Statusfeld mit jedem angezeigten Bericht.
Ein grünes Quadrat im Statusfeld bedeutet, dass die Anzahl der Quelleinträge mit der Anzahl der Zieldatensätze in BigQuery übereinstimmt.
Ein roter Kreis im Statusfeld bedeutet, dass die Anzahl der Datensätze nicht gleich ist.
Eine ungleiche Datensatzanzahl weist nicht immer auf ein Problem hin. Folgende Indikatoren deuten auf ein mögliches Problem hin:
- Bei einem Bericht über die aktuelle Anzahl wird bei einem ungleichen Wert immer ein Problem angezeigt.
Bei einem Bericht zum anfängliches Laden oder Replikationsanzahlen weist ein positiver Wert auf ein wahrscheinliches Problem hin.
Ein relativ niedriger negativer Wert ist kein Problem. Die Anzahl in einer BigQuery-Zieltabelle kann aufgrund von Ereignissen wie vorübergehenden Unterbrechung der Verbindungen, die dazu führen, dass SAP LT Replication Server Daten noch einmal sendet, etwas höher sein als die Anzahl der Quelldatensätze.
Führen Sie den Bericht noch einmal aus, wenn eine ungleiche Anzahl angezeigt wird, um sicherzustellen, dass er nicht durch ein vorübergehendes Problem verursacht wurde. Aufgrund der Replikationsverarbeitung zum Zeitpunkt, zu dem das Tool den Bericht generiert hat, kann es zu einer ungleichen Datensatzanzahl kommen.
Bei einer sehr großen Quelltabelle oder einer Tabelle, in der in SAP LT Replication Server für anfänglichen Ladevorgang oder Replikation Filter festgelegt sind, kann das Tool zur Replikationsprüfung möglicherweise nicht alle erforderlichen Datensätze zählen, die für eine gleichmäßige Anzahl erforderlich sind.
Validierungsprüfungen planen
Mit der SAP-Hintergrundjobfunktion können Sie das Tool zur Replikationsprüfung automatisch in Intervallen ausführen lassen.
BigQuery-Feldzuordnung in einer CSV-Datei bearbeiten
In den folgenden Abschnitten wird beschrieben, wie Sie die Standardfeldzuordnung exportieren, sodass Data Engineers oder BigQuery-Administratoren die Zielfeldwerte bearbeiten können, ohne Zugriff auf SAP LT Replication Server zu benötigen.
Tabelle oder Textdatei mit den Standardfeldzuordnungen erstellen
So erstellen Sie eine CSV-Datei zur Bearbeitung außerhalb von SAP LT Replication Server:
Führen Sie die Transaktion
/GOOG/SLT_SETTINGS
aus.Geben Sie auf dem Bildschirm SLT-Einstellungen warten die folgenden Werte ein:
- Geben Sie im Feld Einstellungstabelle die Option Felder an.
- Geben Sie im Feld Massenübertragungsschlüssel die ID der zu aktualisierenden Massenübertragung an.
- Im Feld Tabellenname lassen Sie das Feld entweder leer, um mit allen Feldern aus allen Tabellen zu arbeiten, oder Sie geben einen Tabellennamen an, um mit einer bestimmten Tabelle zu arbeiten.
- Lassen Sie alle anderen Felder leer.
Klicken Sie auf das Symbol Ausführen. Der Bildschirm BigQuery-Einstellungen warten – Felder wird angezeigt.
Blenden Sie im Bildschirm BigQuery-Einstellungen warten – Felder alle Spalten mit Ausnahme der in der folgenden Liste aufgeführten aus, indem Sie mit der rechten Maustaste auf die Spaltenüberschriften klicken und aus dem Drop-down-Menü Ausblenden wählen:
- SAP-Tabellenname
- SAP-Feldname
- Externes Datenelement
- Externer Feldname
- Feldbeschreibung
Klicken Sie, wenn alle fünf Spalten angezeigt werden, auf das Symbol Exportieren.
Wählen Sie im Menü Exportieren eine der folgenden Optionen aus:
- Tabelle
- Lokale Datei. Für eine einfache Konvertierung des Dateiinhalts in das CSV-Format empfehlen wir, die Datei im Format Text mit Tabs zu speichern.
Speichern Sie die Standardfeldzuordnungen, indem Sie auf das Häkchensymbol klicken.
Tabelle oder Textdatei ins CSV-Format konvertieren
Um bearbeitete Feldzuordnungen mithilfe der benutzerdefinierten Transaktion /GOOG/SLT_SETTINGS
hochzuladen, müssen die Feldzuordnungen im CSV-Format vorliegen.
Wenn Sie eine Tabelle verwenden, speichern Sie die Tabelle als CSV-Datei, bevor Sie die Datei hochladen.
Wenn Sie eine lokale Datei in einem tabulatorgetrennten Format oder einem anderen Format verwenden, müssen Sie die Datei so ändern, dass sie dem CSV-Format entspricht.
Beispiel:
SAP Table,SAP Field Name,External Data Element,External Field Name,Field Description SAP_TABLE_NAME,SAP_FIELD_NAME1,BIGQUERY_DATA_TYPE,BIGQUERY_FIELD_NAME1,BIGQUERY_FIELD_DESCRIPTION1 SAP_TABLE_NAME,SAP_FIELD_NAME2,BIGQUERY_DATA_TYPE,BIGQUERY_FIELD_NAME2,BIGQUERY_FIELD_DESCRIPTION2 SAP_TABLE_NAME,SAP_FIELD_NAME3,BIGQUERY_DATA_TYPE,BIGQUERY_FIELD_NAME3,BIGQUERY_FIELD_DESCRIPTION3
CSV-Datei hochladen
So laden Sie eine bearbeitete CSV-Datei hoch:
Führen Sie die Transaktion
/GOOG/SLT_SETTINGS
aus.Geben Sie auf dem Bildschirm SLT-Einstellungen warten die folgenden Werte ein:
- Geben Sie im Feld Einstellungstabelle die Option Felder an.
- Geben Sie im Feld Massenübertragungsschlüssel die ID der zu aktualisierenden Massenübertragung an.
- Klicken Sie das Kästchen Aus Datei hochladen an.
Klicken Sie auf das Symbol Ausführen. Das Dialogfeld Datei zum Hochladen auswählen wird geöffnet.
Wählen Sie im Dialogfeld Datei zum Hochladen auswählen die CSV-Datei aus, die die bearbeiteten Feldwerte enthält.
Klicken Sie auf Öffnen.
Wenn Sie eine Sicherheitswarnung erhalten, klicken Sie auf Zulassen. Die Datei wird geladen und die geänderten Werte in der Datei werden in den entsprechenden Zeilen auf dem Bildschirm Wartung der BigQuery-Einstellungen – Felder angezeigt.
Klicken Sie auf das Symbol Speichern.
Vergleichen Sie die Werte in der CSV-Datei mit den Werten, die von SAP LT Replication Server angezeigt werden, um zu überprüfen, ob die Werte übernommen wurden.
Umgang mit Fehlern in den Quelldaten
Nachdem ein Datensatzblock von BigQuery-Connector für SAP empfangen wurde, prüft die BigQuery Streaming API auf Datenfehler, bevor Datensätze in die BigQuery-Tabelle eingefügt werden.
Sie können steuern, wie die BigQuery API und BigQuery-Connector für SAP reagieren, wenn Datenfehler gefunden werden. Geben Sie dazu die folgenden Flags in Massenübertragungseinstellungen an:
- The Flag
Skip Invalid Records
(SKIP
) - The Flag
Break at First Error Flag
(BREAK
)
Das Flag SKIP
Wenn Sie das Flag SKIP
angeben und die BigQuery API einen Datensatzblock empfängt und einen Datensatz mit einem Datenfehler findet, verwirft (oder überspringt) die BigQuery API den Datensatz mit dem Fehler und fügt die anderen Datensätze des Blocks in die BigQuery-Tabelle ein.
Wenn Sie das Flag SKIP
nicht angeben und BigQuery einen Datensatz mit einem Datenfehler findet, verwirft BigQuery den gesamten Datensatzblock, ohne Datensätze in die BigQuery-Tabelle einzufügen. Das ist das Standardverhalten.
Die Angabe des Flags SKIP
eignet sich am besten für Entwicklungs- und QA-Umgebungen und wird für Produktionsumgebungen nicht empfohlen.
Sie können das Flag SKIP
in der Transaktion /GOOG/SLT_SETTINGS
angeben, wenn Sie die Replikation konfigurieren. Die Spezifikation wird in der Konfigurationstabelle /GOOG/BQ_MASTR
gespeichert.
Informationen zur Interaktion von SKIP
-Spezifikationen mit BREAK
-Spezifikationen finden Sie unter Matrixtabelle für SKIP
- und BREAK
-Interaktionen.
Das Flag BREAK
Wenn Sie das Flag BREAK
angeben und BigQuery-Connector für SAP von der BigQuery API benachrichtigt wird, dass in einem Datensatz ein Datenfehler gefunden wurde, sendet BigQuery-Connector für SAP keine Datensätze mehr an BigQuery und beendet den Replikationsjob.
Wenn Sie das Flag BREAK
nicht angeben und BigQuery-Connector für SAP von BigQuery benachrichtigt wird, dass in einem Datensatz ein Datenfehler gefunden wurde, sendet BigQuery-Connector für SAP den nächsten Datensatzblock an BigQuery und der Replikationsjob wird fortgesetzt. Das ist das Standardverhalten.
In Produktionsumgebungen wird empfohlen, das Flag BREAK
anzugeben.
Sie können das Flag BREAK
in der Transaktion //GOOG/SLT_SETTINGS
angeben, wenn Sie die Replikation konfigurieren.
Die Spezifikation wird in der Konfigurationstabelle /GOOG/BQ_MASTR
gespeichert.
Informationen zur Interaktion von BREAK
-Spezifikationen mit SKIP
-Spezifikationen finden Sie unter Matrixtabelle für SKIP
- und BREAK
-Interaktionen.
Matrixtabelle für SKIP
- und BREAK
-Interaktionen
Sie können BigQuery-Connector für SAP so konfigurieren, dass Datenfehler folgendermaßen behandelt werden:
SKIP Flag |
BREAK Flag |
Verhalten |
---|---|---|
FALSE | TRUE |
BigQuery verwirft den aktuellen Datensatzblock, ohne Datensätze aus dem aktuellen Block in die BigQuery-Tabelle einzufügen. BigQuery-Connector für SAP sendet keine weiteren Datensatzblöcke aus dem aktuellen Bereich und weist SAP LT Replication Server an, den Replikationsjob zu beenden. Dabei handelt es sich um die empfohlene Einstellung. |
FALSE | FALSE |
BigQuery verwirft den aktuellen Datensatzblock, ohne Datensätze aus dem aktuellen Block in die BigQuery-Tabelle einzufügen. BigQuery-Connector für SAP sendet alle verbleibenden Datensatzblöcke aus dem aktuellen Bereich von Datensätzen und weist SAP LT Replication Server an, den Replikationsjob zu beenden. Das ist die Standardeinstellung. |
TRUE | TRUE |
BigQuery verwirft nur den Datensatz, der den Fehler enthält, und fügt den Rest der Datensätze im aktuellen Block in die BigQuery-Tabelle ein. BigQuery-Connector für SAP sendet keine weiteren Datensatzblöcke aus dem aktuellen Bereich und ruft den nächsten Bereich ab. BigQuery-Connector für SAP weist SAP LT Replication Server nicht an, den Replikationsjob zu beenden. |
TRUE | FALSE |
BigQuery verwirft nur den Datensatz, der den Fehler enthält, und fügt den Rest der Datensätze im aktuellen Block in die BigQuery-Tabelle ein. BigQuery-Connector für SAP sendet alle verbleibenden Datensatzblöcke aus dem aktuellen Bereich und ruft den nächsten Bereich ab. BigQuery-Connector für SAP weist SAP LT Replication Server nicht an, den Replikationsjob zu beenden. |
Änderungen der Tabellenstruktur
In diesem Abschnitt wird erläutert, wie Sie die SAP-Quelltabellenstruktur ändern, für die eine vorhandene LTRC
-Replikation ausgeführt wird.
Spalte zu einer Quelltabelle hinzufügen
So fügen Sie einer Quelltabelle eine neue Spalte hinzu:
Fügen Sie der Quelltabelle eine neue Spalte hinzu. Infolge dieses Schritts ändert sich der Replikationsstatus in
Load/Replication blocked
.Setzen Sie in Ihrem SLT-System den Replikationsstatus mithilfe der Transaktion
LTRC
zurück. Weitere Informationen von SAP über das Zurücksetzen des Replikationsstatus finden Sie im SAP-Hinweis 2204955 – SLT-Tabellen befinden sich im Status "Load/Replication blocked".Fügen Sie einen Eintrag in der Quelltabelle hinzu oder aktualisieren oder löschen Sie einen.
Validieren Sie das Replikationsergebnis in BigQuery.
Spalte aus einer Quelltabelle löschen
So löschen Sie eine vorhandene Spalte aus einer Quelltabelle:
Deaktivieren Sie in Ihrem SLT-System die Replikation mit der Transaktion
LTRC
.Löschen Sie eine Spalte aus der Quelltabelle. Infolge dieses Schritts werden die vorhandenen SLT-Trigger entweder gelöscht oder in einen inkonsistenten Zustand geändert.
Löschen Sie in BigQuery die Spalte aus der BigQuery-Zieltabelle. Weitere Informationen zum Löschen einer Spalte aus einer vorhandenen Tabelle finden Sie in der BigQuery-Dokumentation.
Setzen Sie die Replikation in Ihrem SLT-System mit der Transaktion
LTRC
fort.Erstellen Sie in Ihrem SLT-System die SLT-Trigger neu. Weitere Informationen von SAP über das Neuerstellen von SLT-Triggern finden Sie im SAP-Hinweis 2254376 – SLT-Trigger in einem inkonsistenten Zustand.
Wenn der Replikationsstatus
Load /Replication blocked
lautet, setzen Sie den Replikationsstatus mithilfe der TransaktionLTRC
zurück. Weitere Informationen von SAP über das Zurücksetzen des Replikationsstatus finden Sie im SAP-Hinweis 2204955 – SLT-Tabellen befinden sich im Status "Load/Replication blocked".Löschen Sie gegebenenfalls die alten Logs.
Fügen Sie einen Eintrag in der Quelltabelle hinzu oder aktualisieren oder löschen Sie einen.
Validieren Sie das Replikationsergebnis in BigQuery.
Datentyp einer vorhandenen Spalte ändern
Wenn Sie den Datentyp einer vorhandenen Spalte in der SAP-Quelltabelle ändern, müssen Sie bestimmte Schritte ausführen, je nachdem, ob Sie den Datentyp in einen Datentyp ändern, der mit der BigQuery-Zieltabelle kompatibel oder nicht kompatibel ist.
Ein Datentyp ist mit dem Datentyp in der BigQuery-Zieltabelle kompatibel, wenn der vorhandene Datentyp und der neue Datentyp einer vorhandenen Spalte demselben Datentyp in der BigQuery-Zieltabelle zugeordnet sind. Wenn beispielsweise der Datentyp einer Spalte in einer Quelltabelle von INT1
in INT2
geändert wird, sind beide Datentypen mit dem Datentyp INTEGER
in der BigQuery-Zieltabelle kompatibel.
Weitere Informationen zur Datentypzuordnung in BigQuery-Connector für SAP finden Sie unter Datentypzuordnung.
Datentyp in einen kompatiblen Datentyp ändern
So ändern Sie den Datentyp einer vorhandenen Spalte in einen kompatiblen Datentyp:
Ändern Sie den Datentyp im Quellsystem in einen kompatiblen Datentyp. Infolge dieses Schritts werden die vorhandenen SLT-Trigger entweder gelöscht oder in einen inkonsistenten Zustand geändert.
Erstellen Sie in Ihrem SLT-System die SLT-Trigger neu. Weitere Informationen von SAP über das Neuerstellen von SLT-Triggern finden Sie im SAP-Hinweis 2254376 – SLT-Trigger in einem inkonsistenten Zustand.
Wenn der Replikationsstatus
Load /Replication blocked
lautet, setzen Sie den Replikationsstatus mithilfe der TransaktionLTRC
zurück. Weitere Informationen von SAP über das Zurücksetzen des Replikationsstatus finden Sie im SAP-Hinweis 2204955 – SLT-Tabellen befinden sich im Status "Load/Replication blocked".Löschen Sie gegebenenfalls die alten Logs.
Fügen Sie einen Eintrag in der Quelltabelle hinzu oder aktualisieren oder löschen Sie einen.
Validieren Sie das Replikationsergebnis in BigQuery.
Datentyp in einen nicht kompatiblen Datentyp ändern
So ändern Sie den Datentyp einer vorhandenen Spalte in einen nicht kompatiblen Datentyp:
- Beenden Sie in Ihrem SLT-System die Replikation mit der Transaktion
LTRC
. - Löschen Sie in BigQuery die Zieltabelle.
- Ändern Sie den Datentyp im Quellsystem.
- Starten Sie in Ihrem SLT-System die Replikation mit der Transaktion
LTRC
.
Optimierungspunkte
BigQuery-Connector für SAP bietet mehrere Optimierungspunkte in seinem Code, an denen ein ABAP-Entwickler Code einfügen kann, um benutzerdefinierte Funktionen hinzuzufügen.
Die folgende Tabelle enthält die Funktionen, die von den Optimierungspunkten unterstützt werden, die Methoden sowie die Klasse, die den Optimierungspunkt enthält.
Funktion | Klasse | Methode | Spot | Option |
---|---|---|---|---|
Aktualisieren Sie die Zuordnung für ein Feld, z. B. den externen Feldnamen, den Datentyp usw. | /GOOG/CL_IUUC_REPL_RUNTIME |
CREATE_FLD_MAPPINGS |
/GOOG/ES_IUUC_REPL_RUNTIME |
/GOOG/UPDATE_FIELD_MAPPING |
Aktualisieren Sie die Zuordnung für die Feldtabelle, indem Sie Felder hinzufügen oder entfernen. | /GOOG/CL_IUUC_REPL_RUNTIME |
CREATE_FLD_MAPPINGS |
/GOOG/ES_IUUC_REPL_RUNTIME |
/GOOG/UPDATE_FIELD_MAPPINGS |
Ändern Sie den Wert eines Quellfelds, bevor das Feld in ein Zielfeld konvertiert wird. | /GOOG/CL_IUUC_REPL_RUNTIME_BQ |
FILL_TARGET_RECORDS |
/GOOG/ES_IUUC_REPL_RUNTIME_BQ |
/GOOG/CHANGE_SOURCE_FIELD |
Nachdem ein Quellfeld in ein Zielfeld in der Zieltabelle umgewandelt wurde, ändern Sie den Wert des Zielfelds. | /GOOG/CL_IUUC_REPL_RUNTIME_BQ |
FILL_TARGET_RECORDS |
/GOOG/ES_IUUC_REPL_RUNTIME_BQ |
/GOOG/FILL_TARGET_FIELD |
Fügen Sie der Zieltabelle während der Konvertierung von der Quell- zur Zieltabelle ein Feld hinzu, das nicht in der Quelltabelle vorhanden ist. | /GOOG/CL_IUUC_REPL_RUNTIME_BQ |
FILL_TARGET_RECORDS |
/GOOG/ES_IUUC_REPL_RUNTIME_BQ |
/GOOG/FILL_EXTRA_FIELD |
Bereiten Sie ein BigQuery-Schemafeld vor, bevor die BigQuery-Tabelle erstellt wird. | /GOOG/CL_GCP_CLIENT_BQ |
PREP_BQ_TABLE_SCHEMA |
/GOOG/ES_GCP_CLIENT_BQ |
/GOOG/PREPARE_SCHEMA_FIELD |