Présentation de l'importation et de l'exportation Spanner

Vous pouvez importer et exporter de grandes quantités de données dans ou hors de Spanner à l'aide de l'une des méthodes suivantes :

  • Importez ou exportez n'importe quelle base de données Spanner à l'aide de Dataflow.
  • Exportez n'importe quelle base de données Spanner vers un bucket Cloud Storage aux formats de fichier Avro ou CSV.
  • Importez des données à partir de fichiers Avro ou CSV dans une nouvelle base de données Spanner.

Cas d'utilisation

Vous pouvez utiliser l'importation et l'exportation Spanner pour les cas d'utilisation suivants :

  • Chargement groupé : vous pouvez importer des données de manière groupée dans Spanner.
  • Sauvegarde et archivage à long terme : vous pouvez exporter votre base de données à tout moment et la stocker dans un bucket Cloud Storage de votre choix pour la sauvegarde ou l'archivage à long terme. Vous pouvez également utiliser la récupération à un moment précis pour exporter une base de données à partir d'un code temporel spécifique. Si vous recherchez des techniques de reprise après sinistre qui offrent une restauration plus rapide, mais avec des périodes de conservation plus courtes, envisagez d'utiliser des sauvegardes ou la récupération à un moment précis (PITR).

  • Copier des bases de données dans des projets de développement ou de test : vous pouvez exporter une base de données à partir d'un projet de production, puis l'importer dans votre projet de développement ou de test pour l'utiliser pour des tests d'intégration ou d'autres expériences.

  • Ingestion pour l'analyse : vous pouvez exporter une base de données pour ingérer vos données opérationnelles de manière groupée dans des services d'analyse tels que BigQuery. BigQuery peut ingérer automatiquement des données au format Avro à partir d'un bucket Cloud Storage, ce qui vous permet d'analyser plus facilement vos données opérationnelles. Si vous souhaitez utiliser BigQuery pour analyser en temps réel les données Spanner sans les copier ni les déplacer, vous pouvez utiliser des requêtes fédérées Spanner à la place.

Comparer l'importation et l'exportation à la sauvegarde et à la restauration

L'importation et l'exportation Spanner sont semblables à la sauvegarde et à la restauration à bien des égards. Le tableau suivant décrit les similitudes et les différences entre elles pour vous aider à choisir celle qui convient.

Sauvegarde et restaurationImportation et exportation
Cohérence des données Les sauvegardes et les bases de données exportées sont cohérentes à la fois sur le plan transactionnel et externe.
Impact sur la performance Les sauvegardes n'ont aucun impact sur les performances d'une instance. Spanner effectue des sauvegardes à l'aide de tâches dédiées qui ne reposent pas sur les ressources du serveur d'une instance. L'exportation est exécutée en tant que tâche de priorité moyenne, afin de minimiser l'impact sur les performances de la base de données. Pour plus d'informations, consultez la section Priorité des tâches.
Format de stockage Utilise un format propriétaire chiffré et conçu pour permettre une restauration rapide. Compatible avec les formats de fichier CSV et Avro.
Portabilité Vous créez des sauvegardes dans la même instance que leur base de données source.

Une fois la sauvegarde créée, vous pouvez la copier vers une instance dans une autre région ou un autre projet si vous avez besoin d'une sauvegarde interrégionale ou interprojets. Vous pouvez ensuite restaurer une sauvegarde en tant que nouvelle base de données vers n'importe quelle instance du même projet. L'instance dans laquelle vous effectuez la restauration doit avoir la même configuration d'instance que celle où la sauvegarde est stockée.
Les bases de données exportées sont stockées dans Cloud Storage. Les données peuvent donc être transférées vers tout système compatible avec CSV ou Avro.
Fidélisation Les sauvegardes peuvent être conservées jusqu'à un an. Les bases de données exportées sont stockées dans Cloud Storage. Par défaut, elles sont conservées jusqu'à leur suppression. Vous pouvez personnaliser les règles de cycle de vie et de conservation.
Tarifs Les sauvegardes sont facturées sur votre projet Spanner en fonction de l'espace de stockage utilisé par unité de temps. Pour en savoir plus, consultez la section Tarifs. La facturation de l'importation et de l'exportation est plus complexe du fait que ces opérations utilisent Cloud Storage et Dataflow. Pour en savoir plus, consultez la section Tarifs d'exportation et d'importation de bases de données.
Délai de restauration La restauration s'effectue en deux opérations : la restauration et l'optimisation. L'opération de restauration permet d'atteindre un temps de latence du premier octet très rapide, car la base de données installe directement la sauvegarde sans copier les données. Une fois l'opération de restauration terminée, la base de données est prête à l'emploi. Toutefois, la latence de lecture peut être légèrement supérieure lors de l'optimisation. Pour en savoir plus, consultez la section Fonctionnement de la restauration. L'importation est plus lente. Vous devez attendre que toutes les données soient écrites dans la base de données.

Comparer les formats de fichier

Le tableau suivant compare les différences de fonctionnalités entre les formats de fichier Avro et CSV lors de l'importation et de l'exportation de données Spanner.

Capacité Format Avro Format CSV
Importer ou exporter une base de données entière Oui Non
Possibilité d'exporter uniquement les tables sélectionnées dans une base de données Oui Oui
Possibilité d'importer des tables précédemment exportées Oui Oui
Exporter à un horodatage antérieur Oui Oui
Importer ou exporter à l'aide de Google Cloud CLI Oui Oui
Importer ou exporter des données à l'aide de Dataflow Oui Oui
Importer ou exporter des données à l'aide de Spanner Oui Non

Fichiers Avro

Lorsque vous exportez des données au format Avro, vous pouvez spécifier une liste des tables à exporter. Toutes les tables enfants exportées de cette manière doivent être accompagnées de leurs tables parentes. Spanner conserve l'intégralité du schéma de base de données dans les fichiers exportés.

Lorsque vous importez des données au format Avro, Spanner recrée l'intégralité du schéma de la base de données exportée, y compris toutes les tables. Les tables incluses dans l'exportation d'origine reçoivent toutes leurs données exportées. Toutes les autres tables restent vides.

La page Spanner de la console Google Cloud propose des options d'importation et d'exportation au format Avro limitées. Par exemple, vous ne pouvez pas définir d'options de réseau ni de sous-réseau. Pour un plus grand nombre d'options, utilisez plutôt Dataflow.

Limites

Vous ne pouvez pas exporter ni importer de groupes de localités au format Avro.

Fichiers CSV

Vous ne pouvez exporter qu'une seule table Spanner à la fois au format CSV. Lorsque vous exportez des données, le schéma n'est pas exporté. Seules les données le sont.

Avant d'importer des données à partir de fichiers CSV, vous devez créer un fichier manifeste JSON.

Tarifs

Aucuns frais supplémentaires ne sont appliqués par Spanner pour l'utilisation des outils d'exportation et d'importation. Les tarifs standards du stockage de données vous sont facturés lorsque vous importez une base de données dans Spanner. Cependant, d'autres frais potentiels peuvent résulter de l'importation et de l'exportation de bases de données. Pour en savoir plus, consultez Tarifs d'exportation et d'importation de bases de données.

Étapes suivantes