Notebook-Replikation¶
Bemerkung
Um Notebooks zu replizieren, müssen Sie das Verhaltensänderungs-Bundle 2025_07 in Ihrem Konto aktivieren. Zum Aktivieren dieses Bundles in Ihrem Konto führen Sie die folgende Anweisung aus:
SELECT SYSTEM$ENABLE_BEHAVIOR_CHANGE_BUNDLE('2025_07');
Die Replikation unterstützt die Geschäftskontinuität im Falle von Katastrophen, Ausfällen oder Nichtverfügbarkeit, indem Notebooks und andere wichtige Objekte über Konten hinweg verfügbar gemacht werden. Eine Replikationsgruppe, die von einem Administrator konfiguriert wird, repliziert Kontoobjekte und Datenbanken nach einem definierten Zeitplan von einem Primärkonto in ein oder mehrere Sekundärkonten.
Notebooks werden als Teil einer Datenbank repliziert, die in einer Replikations- oder Failover-Gruppe enthalten ist. Im sekundären Konto sind replizierte Inhalte schreibgeschützt. Notebooks sind ausführbar, können aber nicht bearbeitet werden.
Die Datenbankreplikation kann als Failover-Gruppe konfiguriert werden, um eine hohe Verfügbarkeit zu unterstützen. Wenn eine sekundäre Failover-Gruppe zur primären Gruppe heraufgestuft wird, werden alle enthaltenen Objekte, einschließlich Notebooks, im neuen primären Konto beschreibbar.
Weitere Informationen dazu finden Sie unter Einführung in Replikation und Failover über mehrere Konten.
Aktivieren der Replikation¶
Ein Benutzer mit der Rolle ORGADMIN muss die Replikation für jedes Quell- und Zielkonto in der Organisation aktivieren:
USE ROLE ORGADMIN;
SELECT SYSTEM$GLOBAL_ACCOUNT_SET_PARAMETER(
'<organization_name>.<account_name>',
'ENABLE_ACCOUNT_DATABASE_REPLICATION',
'true');
Weitere Informationen dazu finden Sie unter Voraussetzung: Replikation für Konten in Ihrer Organisation aktivieren.
Erstellen einer Replikationsgruppe im primären Konto¶
Um ein Notebook zu replizieren, geben Sie in der Replikationsgruppe die Datenbank an, die das Notebook enthält:
USE ROLE ACCOUNTADMIN;
CREATE REPLICATION GROUP myrg
OBJECT_TYPES = DATABASES
ALLOWED_DATABASES = db1
ALLOWED_ACCOUNTS = myorg.myaccount2
REPLICATION_SCHEDULE = '10 MINUTE';
In diesem Beispiel:
ALLOWED_DATABASES– Name der Datenbank, die das Notebook enthält.ALLOWED_ACCOUNTS– das Sekundärkonto, auf das die Replikation erfolgen soll.REPLICATION_SCHEDULE– wie häufig die Replikation stattfindet (z. B. ‚10 MINUTE‘ oder ‚1 HOUR‘).
Replizieren eines Warehouse¶
Um ein repliziertes Notebook wie vorgesehen im Sekundärkonto auszuführen, müssen alle damit verbundenen Objekte wie Warehouses, EAIs und Aufgaben separat repliziert oder neu erstellt werden.
Um ein Warehouse zu replizieren, fügen Sie das Warehouse in den OBJECT_TYPES-Parameter in der Replikations-/Failover-Gruppe ein.
-- Create a new warehouse if required
CREATE WAREHOUSE IF NOT EXISTS mywarehouse
WAREHOUSE_SIZE = 'X-SMALL'
AUTO_SUSPEND = 60
AUTO_RESUME = TRUE
COMMENT = 'Warehouse for Snowflake Notebooks';
-- Set up warehouse replication
CREATE REPLICATION GROUP mywarehouserg
OBJECT_TYPES = WAREHOUSES
ALLOWED_ACCOUNTS = myorg.myaccount2
REPLICATION_SCHEDULE = '10 MINUTE';
Weitere Informationen zu Syntax und Nutzung finden Sie unter: CREATE REPLICATION GROUP.
Verhaltensweise von Sekundärkonten¶
In einem Sekundärkonto können Sie neue Notebooks nur in nicht replizierten Datenbanken erstellen. Diese Notebooks sind nicht in der Replikationsgruppe enthalten und bieten vollständigen Lese- und Schreibzugriff.
Replizierte Notebooks sind schreibgeschützt. Benutzende können jedoch zugehörige Computeressourcen und externe Zugriffsintegrationen (EAIs) ändern. Diese Ressourcen müssen erstellt oder separat repliziert werden. Wenn sie nicht verfügbar sind, werden diese Ressourcen nicht mit dem Notebook verbunden.
Erstellen Sie eine Replikationsgruppe im Zielkonto als Replikat der Replikationsgruppe myrg im Quellkonto:
CREATE REPLICATION GROUP myrg
AS REPLICA OF myorg.myaccount1.myrg;
Sie können bei Bedarf auch eine Replikationsgruppe für Warehouses erstellen. Beachten Sie, dass alle Warehouses des Kontos repliziert werden:
CREATE REPLICATION GROUP mywarehouserg
AS REPLICA OF myorg.myaccount1.mywarehouserg;
Die Replikationsgruppe kann auch manuell aktualisiert werden, indem Sie den folgenden Befehl ausführen:
ALTER REPLICATION GROUP myrg REFRESH;
Eine Failover-Gruppe erstellen¶
Um während eines Ausfalls das Heraufstufen des sekundären Kontos zum primären Konto zu ermöglichen, verwenden Sie eine Failover-Gruppe:
USE ROLE ACCOUNTADMIN;
CREATE FAILOVER GROUP myfg
OBJECT_TYPES = DATABASES
ALLOWED_DATABASES = db1
ALLOWED_ACCOUNTS = myorg.myaccount2
REPLICATION_SCHEDULE = '10 MINUTE';
In diesem Beispiel ist ALLOWED_DATABASES die Datenbank, die in der Failover-Gruppe erstellt werden soll. Das replizierte Notebook in der Failover-Gruppe ist schreibgeschützt, aber dennoch ausführbar. Wenn Sie die Failover-Gruppe zur primären Gruppe heraufstufen, wird das Notebook schreibgeschützt.
Hinweise¶
Geplante Notebooks in einem Sekundärkonto werden bis zum Failover angehalten. Nach dem Failover wird die Zeitplanung fortgesetzt.
Weitere Informationen zur Replikation und zum Aufgabenverhalten finden Sie unter Hinweise zur Replikation.
Die Notebook-Ergebnisse werden nur in dem Konto gespeichert, in dem das Notebook ausgeführt wurde. Notebook-Ergebnisse werden nicht repliziert.
Einschränkungen¶
Git-Integration wird derzeit nach einem Failover nicht unterstützt. Damit Notebooks in einem heraufgestuften Sekundärkonto wieder eine Verbindung zu Git herstellen können, müssen Sie Git neu konfigurieren.
Container Runtime-Notebooks¶
Notebooks, die Container Runtime verwenden, werden nicht vollständig repliziert. Insbesondere werden Computepools nicht repliziert und müssen manuell im sekundären Konto erstellt werden.
So führen Sie ein Container Runtime-Notebook im sekundären Konto aus:
Identifizieren Sie den im Quellkonto verwendeten Computepool.
Erstellen Sie im sekundären Konto einen Computepool mit demselben Namen und derselben Konfiguration: Wenn zum Beispiel ein repliziertes Notebook auf einen Computepool namens
compute_poolverweist, erstellen Sie diesen Computepool im sekundären Konto:
-- In the secondary account, create a new compute pool with a matching name and configuration
CREATE COMPUTE POOL compute_pool
MIN_NODES = 1
MAX_NODES = 10
INSTANCE_FAMILY = CPU_X64_XS;
Sobald das replizierte Notebook erstellt ist, kann es den Computepool verwenden, um ihn im sekundären Konto auszuführen.