Vous pouvez importer et exporter une grande quantité de données 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 à l'aide des formats de fichier Avro ou CSV.
- Importer 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 emplacement de bucket Cloud Storage de votre choix pour la sauvegarde ou l'archivage à long terme. De plus, vous pouvez utiliser des données à un moment précis récupération pour exporter une base de données à partir d'un horodatage passé 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 une restauration à un moment précis (PITR).
Copier des bases de données dans des projets de développement ou de test: vous pouvez exporter un base de données d'un projet de production, puis l'importer dans votre environnement de développement projet de test à utiliser pour les tests d'intégration ou d'autres tests.
Ingestion à des fins d'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'exécuter plus facilement des analyses sur 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 les 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 dans Spanner sont semblables aux opérations de sauvegarde et de restauration de plusieurs façons. Le tableau suivant décrit les similitudes et les différences entre eux pour vous aider à décider lequel utiliser.
Sauvegarde et restauration | Importation 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 jobs dédiés qui ne exploitent pas 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 copier la sauvegarde sur une instance d'une autre région ou d'un autre projet si vous avez besoin d'une sauvegarde interrégionale ou inter-projets. Vous pouvez ensuite restaurer les données à partir d'une sauvegarde en tant que nouvelle base de données sur n'importe quelle instance du même projet. L'instance sur laquelle vous effectuez une restauration doit avoir la même configuration d'instance que l'instance où la sauvegarde est stockée. |
Les bases de données exportées résident dans Cloud Storage, et les données peuvent être migrées vers n'importe quel 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 à 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 pour l'importation et l'exportation est plus compliquée en raison de l'utilisation de Cloud Storage et de 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 fichiers
Le tableau suivant compare les différences de capacités entre 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 complète | Oui | Non |
Possibilité d'exporter uniquement les tables sélectionnées d'une base de données | Oui | Oui |
Possibilité d'importer des tables précédemment exportées | Oui | Oui |
Exporter à un horodatage passé | Oui | Oui |
Importation ou exportation à l'aide de Google Cloud CLI | Oui | Oui |
Importer ou exporter des données à l'aide de Dataflow | Oui | Oui |
Importer ou exporter à l'aide de Spanner | Oui | Non |
Fichiers Avro
Lors de l'exportation au format Avro, vous pouvez spécifier une liste de tables à exporter. N'importe quelle valeur les tables enfants exportés de cette façon doivent être accompagnés de leurs tables parentes. Spanner gère l'ensemble du schéma de la base de données dans les fichiers exportés.
Lors de l'importation à partir du 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 limitées au format Avro. Par exemple, vous ne pouvez pas définir les options de sous-réseau. Pour accéder à un plus grand nombre d'options, utilisez la Dataflow.
Fichiers CSV
Vous ne pouvez exporter qu'un seul tableau Spanner au format CSV à la fois. Lorsque vous exportez des données, le schéma n'est pas exporté, est exportée.
Avant d'importer à partir de fichiers CSV, vous devez créer un fichier manifeste JSON.
Tarifs
Spanner n'entraîne aucuns frais supplémentaires pour l'utilisation de la classe les outils d'exportation ou d'importation ; vous payez les tarifs standards pour le stockage de données lorsque vous importer 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 la section Tarifs d'exportation et d'importation de bases de données.
Étape suivante
- Exporter des bases de données de Spanner vers Avro
- Importer des fichiers Avro Spanner
- Importer et exporter des données au format CSV
- Importer des données à partir de bases de données autres que Spanner