Notfallwiederherstellung¶
Der Snowflake Connector für Google Analytics Aggregate Data unterliegt den Nutzungsbedingungen für Konnektoren.
Der GAAD-Konnektor speichert Metadaten über konfigurierte Berichte und seine eigene Konfiguration innerhalb der App-Instanz. Wenn die App abgebrochen wird oder beschädigt ist, geht dieser interne Status verloren. Um dies zu verhindern, exportiert der Konnektor die Metadaten zusammen mit den aufgenommenen Daten bei bestimmten Ereignissen in die Zieldatenbank, wie z. B. bei den folgenden:
Konfigurieren eines neuen Berichts
Löschen eines Berichts
Abrufen neuer Datenbatches von Google Analytics
Ändern der Größe der Abrufseite für einen Bericht
Der Exportvorgang erstellt mehrere Tabellen im Zielschema, um den internen Status des Konnektors zu speichern. Diese Tabellen enthalten nicht die aufgenommenen Daten, sind aber wichtig, um den Zustand des Konnektors wiederherzustellen, nachdem die App beendet wurde oder beschädigt ist. Wenn diese Tabellen repliziert werden, können sie auch dazu verwendet werden, den Status des Konnektors auf einem anderen Snowflake-Konto wiederherzustellen. Die folgenden Tabellen werden durch den Exportvorgang erstellt:
APP_CONFIG_SFSDKEXPORT_V1
APP_STATE_SFSDKEXPORT_V1
CONNECTOR_ERRORS_LOG_SFSDKEXPORT_V1
INGESTION_PROCESS_SFSDKEXPORT_V1
INGESTION_RUN_SFSDKEXPORT_V1
NOTIFICATIONS_STATE_SFSDKEXPORT_V1
RESOURCE_INGESTION_DEFINITION_SFSDKEXPORT_V1
Importieren vorhandener Daten und Berichte in eine neue Instanz des Konnektors.¶
Wenn der GAAD-Konnektor deinstalliert wurde oder beschädigt ist, ist es möglich, die Aufnahme von zuvor konfigurierten Berichten fortzusetzen, vorausgesetzt, die Zieldatenbank wurde nicht gelöscht. Die Metadaten für die im Konnektor konfigurierten Berichte werden in der Zieldatenbank zusammen mit den aufgenommenen Daten gespeichert. Um nach der Installation einer neuen Konnektor-Instanz mit dem Aufnehmen von Daten fortzufahren, gehen Sie wie folgt vor:
Konfigurieren Sie den Konnektor.
Konfigurieren Sie den Konnektor, indem Sie die Anweisungen unter Snowflake Connector for Google Analytics Aggregate Data installieren und konfigurieren befolgen. Wählen Sie bei der Auswahl der Zieldatenbank und des Schemas das vorhandene Schema aus, das Daten enthält, die von der vorherigen Instanz des Konnektors aufgenommen wurden.
Erteilen Sie dem Konnektor die erforderlichen Berechtigungen.
Bemerkung
Dieser Schritt ist nicht erforderlich, wenn Sie den neuen Konnektor mit Snowsight installiert und konfiguriert haben. Führen Sie ihn nur aus, wenn Sie den Konnektor mit SQL-Befehlen installiert haben.
Führen Sie den folgenden Befehl aus, um sicherzustellen, dass der neu installierte GAAD-Konnektor der Eigentümer aller Objekte im bestehenden Schema wird:
system$grant_ownership_to_application('your_application_instance', true, 'database', 'schema');
Dabei sind Datenbank und Schema die Namen der vorhandenen Datenbank bzw. des Schemas.
Führen Sie das Anhalten des Konnektors aus.
call pause_connector();
Importieren Sie die vorhandenen Daten und Berichte.
Importieren Sie die vorhandenen Daten und Berichte, indem Sie den folgenden Befehl aus dem Kontext der installierten App ausführen:
call import_state(force => true);
Der Parameter force wird auf true gesetzt, um sicherzustellen, dass alle Änderungen, die möglicherweise an dem frisch installierten Konnektor vorgenommen wurden, mit den Berichten und internen Daten der alten Installation überschrieben werden.
Fortsetzen des Konnektors
call resume_connector();
An diesem Punkt sollte die neue Instanz des Snowflake Connector for Google Analytics Aggregate Data-Konnektors die Aufnahme der vorhandenen Berichte fortsetzen.
Replizieren der Zieldatenbank und des Konnektorstatus in eine andere Snowflake-Bereitstellung¶
Dieser Abschnitt beschreibt die Schritte zur Replikation des Inhalts der Zieldatenbank. Die Zieldatenbank enthält die aufgenommenen Daten und die Metadaten für die im Konnektor konfigurierten Berichte. Wenn der Konnektor oder die vom GAAD-Konnektor heruntergeladenen Daten für Ihr Unternehmen von entscheidender Bedeutung sind, sollten Sie ein zweites Snowflake-Konto in einer anderen Region einrichten und die Zieldatenbank auf das zweite Konto replizieren.
Begriffe und Definitionen¶
Zieldatenbank - die Datenbank, die als Ziel für die vom GAAD-Konnektor aufgenommenen Daten konfiguriert wurde. Dies ist auch die Datenbank, in die der interne Status des Konnektors exportiert wird.
Senkendatenbank - das Schema, das als Ziel für die vom GAAD-Konnektor aufgenommenen Daten konfiguriert ist.
Interner Status - die internen Daten und die Konfiguration des GAAD-Konnektors, z. B. Berichtskonfigurationen, Aufnahmestatus und Fehlerprotokolle.
GAAD-Instanz - die auf dem Snowflake-Konto installierte Snowflake Connector for Google Analytics Aggregate Data-Konnektorinstanz.
GAAD - Snowflake Connector for Google Analytics Aggregate Data
ACCOUNT_PRIM - Beispielname des primären Kontos
ACCOUNT_SEC - Beispielname des sekundären (Replik-)Kontos
APP_PRIM - Beispielname der Snowflake Connector for Google Analytics Aggregate Data-Konnektorinstanz, die auf dem primären Konto installiert ist
APP_SEC - Beispielname der Snowflake Connector for Google Analytics Aggregate Data-Konnektorinstanz, die auf dem sekundären Konto installiert ist
DST_DB.DST_SCHEMA - Beispielname des Zielschemas für die GAAD-Instanz (wo die Daten aufgenommen und der interne Konnektorstatus gespeichert wird)
DST_DB - Beispielname der Zieldatenbank, die für den GAAD-Konnektor konfiguriert wurde
MYORG - Beispielname Ihrer Organisation (beide Konten müssen zur selben Organisation gehören)
Einführung¶
Wenn er auf Ihrem Konto installiert ist, erscheint der Snowflake Connector for Google Analytics Aggregate Data-Konnektor (GAAD-Instanz) als normale Datenbank, die Daten, Prozeduren usw. enthält. Sie kann jedoch nicht wie eine normale Datenbank auf ein zweites Konto repliziert werden. Derzeit gibt es keinen nativen Mechanismus, um die GAAD-Instanz mit ihrem internen Status auf ein Replikationskonto zu replizieren. Insbesondere kann die installierte App nicht zu einer Replikationsgruppe hinzugefügt werden.
Anstatt die GAAD-Instanz direkt zu replizieren, exportiert der Konnektor die Metadaten für konfigurierte Berichte in das bei der Einrichtung des Konnektors konfigurierte Zielschema. Der Status wird dort gespeichert und kann zusammen mit den aufgenommenen Daten repliziert werden.
Wenn Sie den Konnektor beispielsweise so konfiguriert haben, dass er Daten in das Zielschema DEST_DATABASE.PUBLIC einspeist, speichert er seinen internen Status automatisch in diesem Schema. Mit dem folgenden Befehl können Sie dann sowohl die aufgenommenen Daten als auch den internen Status replizieren:
create replication group gaad_dest_database_group object_types = databases allowed_databases = dst_db allowed_accounts = ...;
Einrichten der Replikation von aufgenommenen Daten und konfigurierten Berichten¶
Bemerkung
Testen Sie immer Ihre Verfahren zur Notfallwiederherstellung, um zu überprüfen, ob die Daten- und Statusreplikation wie erwartet funktioniert.
Bemerkung
Die folgenden Abschnitte enthalten Anweisungen, die für alle Versionen von Snowflake gelten.
Bemerkung
Bevor Sie fortfahren, machen Sie sich mit Snowflake Replication https://docs.snowflake.com/en/user-guide/account-replication-intro vertraut
Installation von GAAD auf dem primären Konto
Installieren und konfigurieren Sie Snowflake Connector for Google Analytics Aggregate Data auf dem primären Konto. Detaillierte Anweisungen finden Sie unter Snowflake Connector for Google Analytics Aggregate Data installieren und konfigurieren.
Erstellen Sie auf dem primären Konto eine Replikationsgruppe und fügen Sie DST_DB als zulässige Datenbank hinzu:
-- on primary account create replication group gaad_rep_group_prim object_types = databases allowed_databases = dst_db allowed_accounts = myorg.account_sec replication_schedule = '10 minute';
Einrichten der Replikation auf dem sekundären Konto
Um DST_DB vom primären Konto auf das sekundäre Konto zu replizieren, erstellen Sie eine neue Replikationsgruppe für das sekundäre Konto:
-- on secondary account create replication group gaad_rep_group_sec as replica of myorg.account_prim.gaad_rep_group_prim; alter replication group gaad_rep_group_sec refresh;
Zu diesem Zeitpunkt sollte eine schreibgeschützte DST_DB-Datenbank auf dem sekundären Konto erstellt werden, und die Daten des primären Kontos werden gemäß dem konfigurierten Zeitplan repliziert.
Installation von GAAD auf dem sekundären Konto
Installieren und konfigurieren Sie Snowflake Connector for Google Analytics Aggregate Data auf dem sekundären Konto auf dieselbe Weise wie auf dem primären Konto. Weisen Sie die Instanz an, Daten in die replizierte Datenbank und das Schema zu übernehmen. Solange die Replikation läuft (bis die Replikationsgruppe auf dem sekundären Konto gelöscht wird), befindet sich die Datenbank im schreibgeschützten Modus. GAAD kann so konfiguriert werden, dass es eine schreibgeschützte Datenbank als Aufnahmeziel verwendet. Es kann jedoch keine Daten aufnehmen, bis die Datenbank in den Schreib-Lese-Modus übergeht.
Nachdem Sie den Konnektor auf dem sekundären Konto konfiguriert haben, pausieren Sie ihn, indem Sie Folgendes ausführen:
-- on secondary account call pause_connector();
Zu diesem Zeitpunkt ist der GAAD-Konnektor installiert und bereit, bei einem Ausfall des primären Kontos zu übernehmen.
Verfahren zur Wiederherstellung¶
Wenn die primäre Implementierung nicht mehr verfügbar ist, konfigurieren Sie GAAD auf dem sekundären Konto, um die Aufnahme fortzusetzen.
Bemerkung
Alle Schritte müssen auf dem zweiten Konto ausgeführt werden.
Löschen Sie die Replikationsgruppe
Löschen Sie die Replikationsgruppe auf dem sekundären Konto, um die replizierte Datenbank in den Schreib-Lese-Modus zu versetzen:
drop replication group gaad_rep_group_sec;
Gewähren Sie dem Konnektor die Eigentümerschaft an bestehenden Datenbankobjekten
Gewähren Sie dem GAAD-Konnektor die Eigentümerschaft an allen Objekten im replizierten Schema, indem Sie Folgendes ausführen:
call system$grant_ownership_to_application('app_sec', true, 'dst_db', 'dst_schema');
Importieren Sie den Status
Initialisieren Sie den Konnektor mit dem Status, der vom primären Konto repliziert wurde:
call import_state(false);
Fortsetzen des Konnektors
Setzen Sie den Konnektor fort, indem Sie Folgendes ausführen:
call resume_connector();
An diesem Punkt sollte der GAAD-Konnektor auf dem sekundären Konto die Datenaufnahme fortsetzen und dort fortfahren, wo GAAD auf dem primären Konto aufgehört hat.
Bemerkung
Stellen Sie sicher, dass sowohl das primäre als auch das sekundäre Konto derselben Organisation angehören. Der Replikationszeitplan kann an Ihre Anforderungen angepasst werden.