Introduction à la réplication de base de données sur plusieurs comptes

Cette fonctionnalité permet la réplication de bases de données entre comptes Snowflake (au sein de la même entreprise) tout en conservant la synchronisation des objets de base de données et des données stockées. La réplication de base de données est prise en charge à travers les régions et les plates-formes Cloud.

Dans ce chapitre :

Qu’est-ce qu’une base de données principale ?

La réplication peut être activée pour toute base de données permanente ou transitoire existante. L’activation de la réplication désigne la base de données en tant que base de données principale. Un nombre quelconque de bases de données dans un compte peut être désigné comme base de données principale. De même, une base de données principale peut être répliquée sur un nombre quelconque de comptes de votre entreprise. Cela implique la création d’une base de données secondaire en tant que réplique d’une base de données principale spécifiée dans chacun des comptes cibles. Ces comptes se trouvent généralement dans d’autres régions, sur la même plateforme Cloud ou sur une plateforme Cloud différente.

Toutes les opérations DML/DDL sont exécutées sur la base de données principale. Chaque base de données secondaire en lecture seule peut être actualisée périodiquement avec un instantané de la base de données principale, en répliquant toutes les données ainsi que des opérations DDL sur des objets de base de données (schémas, tables, vues, etc.).

Vue d’ensemble de la réplication

Cette section fournit une vue d’ensemble de haut-niveau des objets et paramètres disponibles pour la réplication.

Objets de base de données répliqués

Lorsqu’une base de données principale est répliquée, un instantané de ses objets et données de base de données est transféré vers la base de données secondaire. Cependant, certains objets de base de données ne sont pas répliqués. Le tableau suivant indique les objets de base de données répliqués dans une base de données secondaire.

Pour plus d’informations sur l’utilisation de ces objets, voir Remarques relatives à la réplication de base de données.

Objet

Type ou fonctionnalité

Répliqué

Remarques

Tables

Tables permanentes

Tables transitoires

Tables temporaires

Clustering automatique des tables en cluster

Tables externes

La création ou l’actualisation d’une base de données secondaire est bloquée s’il existe une table externe dans la base de données principale. . Prévision : pour une future version de la réplication de base de données.

Contraintes de tables

Sauf si une clé étrangère dans la base de données fait référence à une clé primaire/unique dans une autre base de données. .

Séquences

Vues

Vues

Si une vue fait référence à un objet d’une autre base de données (par exemple, colonnes de table, autres vues, UDFs ou zones de préparation), . les deux bases de données doivent être répliquées.

Vues matérialisées

Formats de fichier

Zones de préparation

Zones de préparation

Prévision : pour une future version de la réplication de base de données.

Zones de préparation temporaires

Canaux

Prévision : pour une future version de la réplication de base de données.

Procédures stockées

Flux

Prévision : pour une future version de la réplication de base de données.

Tâches

Prévision : pour une future version de la réplication de base de données.

Fonctions définies par l’utilisateur (UDF)

Politiques de masquage

L’opération de réplication est bloquée dans l’un des cas d’utilisation suivants : . La base de données principale se trouve dans un compte Enterprise (ou supérieur) et contient une politique de masquage mais un ou plusieurs des comptes approuvés pour la réplication se trouvent sur des éditions inférieures. . Une politique de masquage contenue dans la base de données principale est appliquée aux colonnes d’une table ou d’une vue située dans une autre base de données, ou vice versa.

Autres objets d’un compte

Actuellement, la réplication est prise en charge pour les bases de données uniquement. Les autres types d’objets d’un compte ne peuvent pas être répliqués. Cette liste comprend :

  • Utilisateurs

  • Rôles

  • Entrepôts

  • Moniteurs de ressources

  • Partages

Contrôle d’accès

Les privilèges accordés sur les objets de base de données ne sont pas répliqués dans une base de données secondaire.

Paramètres

Les paramètres de compte ne sont pas répliqués.

Les paramètres d’objets ne sont pas répliqués, à l’exception de ce qui suit :

Paramètre

Objets

DATA_RETENTION_TIME_IN_DAYS

schéma, table

Réplication de base de données et chiffrement

Lorsqu’une base de données est répliquée sur un autre compte (à la fois lors de la réplication initiale et ultérieurement, lorsqu’une base de données secondaire est actualisée), Snowflake chiffre les fichiers de base de données (c’est-à-dire les métadonnées d’objets de base de données et les ensembles de données) en transit du compte source vers le compte cible. Snowflake chiffre les fichiers pour les opérations de réplication de base de données en utilisant une clé unique et aléatoire pour chaque tâche de réplication.

De plus, si Tri-Secret Secure est activé pour les comptes de réplication (c’est-à-dire les comptes source et cible), les fichiers sont chiffrés à l’aide de la clé publique d’une paire de clés de chiffrement protégée par la clé maîtresse de compte (AMK) pour votre compte cible. Le niveau de sécurité supplémentaire fourni par Tri-Secret Secure protège le AMK. Cette protection s’applique donc également aux fichiers de données en transit.

Notez que les garanties Tri-Secret sont également valables pour les fichiers de données en transit. La révocation de l’accès à la clé gérée par le client (dans le service de gestion de clés du fournisseur de Cloud hébergeant votre compte Snowflake) empêche Snowflake de déchiffrer les fichiers de données en transit.

Pour plus d’informations sur le chiffrement des données dans Snowflake, voir Chiffrement des données.

Réplication de base de données vers des comptes sur des éditions inférieures

Si l’une des conditions suivantes est remplie, Snowflake affiche un message d’erreur lorsqu’une base de données locale est désignée comme base de données principale :

  • La base de données principale se trouve dans un compte Business Critical (ou supérieur), mais un ou plusieurs des comptes approuvés pour la réplication se trouvent sur des éditions inférieures. Business Critical Edition est destiné aux comptes Snowflake contenant des données extrêmement sensibles.

  • La base de données principale se trouve dans un compte Business Critical (ou supérieur) et un accord de partenariat commercial signé est en place pour stocker des données PHI dans le compte conformément aux réglementations HIPAA, mais aucun accord de ce type n’est en place pour un ou plusieurs des comptes approuvés pour la réplication, qu’il s’agisse de comptes Business Critical (ou supérieurs).

Ce comportement est implémenté dans le but d’empêcher les administrateurs de comptes Business Critical (ou supérieurs) de répliquer par inadvertance des données sensibles vers des comptes sur des éditions inférieures.

Un administrateur de compte peut remplacer ce comportement par défaut en incluant la clause IGNORE EDITION CHECK lors de l’exécution de l’instruction ALTER DATABASE … ENABLE REPLICATION TO ACCOUNTS. Si IGNORE EDITION CHECK est défini, la base de données primaire peut être répliquée vers les comptes spécifiés sur une édition Snowflake quelconque.

Limitations actuelles de la réplication

  • L’actualisation d’une base de données secondaire est bloquée s’il existe une table externe dans la base de données principale.

  • Les bases de données créées à partir de partages ne peuvent pas être répliquées.