Bonnes pratiques pour l'importation et l'exportation de données

Cette page présente les bonnes pratiques à suivre pour importer et exporter des données avec Cloud SQL. Pour obtenir des instructions détaillées sur l'importation de données dans Cloud SQL, consultez la page Importer des données. Pour obtenir des instructions détaillées sur l'exportation de vos données, que ce soit dans Cloud SQL ou dans une instance que vous gérez, consultez la page Exporter des données.

Bonnes pratiques pour l'importation et l'exportation

Voici les bonnes pratiques à adopter lors de l'importation et de l'exportation de données :

Ne pas utiliser les buckets "Paiements" du demandeur Cloud Storage

Vous ne pouvez pas utiliser de buckets Cloud Storage pour lesquels les paiements du demandeur sont activés pour réaliser des importations et des exportations depuis Cloud SQL.

Utiliser les indicateurs appropriés lors de la création d'un fichier de vidage SQL

Compresser les données afin de réduire les coûts

Cloud SQL permet d'importer et d'exporter des fichiers compressés ou non. Grâce à la compression, vous pouvez économiser un espace de stockage considérable sur Cloud Storage et réduire les coûts de stockage, en particulier lorsque vous exportez des instances volumineuses.

Lorsque vous exportez un fichier BAK, utilisez une extension de fichier .gz pour compresser les données. Lorsque vous importez un fichier avec une extension .gz, il est automatiquement décompressé.

Réduire les processus d'importation et d'exportation de longue durée

L'exécution d'opérations d'importation et d'exportation dans Cloud SQL à l'aide de la fonctionnalité d'importation (avec un bucket Cloud Storage) peut prendre beaucoup de temps selon la taille de la base de données. Cela peut avoir les conséquences suivantes :

  • Vous ne pouvez pas arrêter une opération d'instance Cloud SQL de longue durée.
  • Vous ne pouvez effectuer qu'une seule opération d'importation ou d'exportation à la fois pour chaque instance.

Vous pouvez réduire le temps nécessaire à l'exécution de chaque opération en utilisant la fonctionnalité d'importation ou d'exportation Cloud SQL avec de plus petits lots de données.

Vérifier la base de données importée

Une fois l'importation terminée, connectez-vous à votre base de données et exécutez les commandes de base de données appropriées pour vous assurer que le contenu est correct. Par exemple, connectez et répertoriez les bases de données, les tables et les entrées spécifiques.

Limites connues

Cloud Storage accepte une taille d'objet unique maximale de cinq téraoctets. Si vos bases de données dépassent 5 To, l'opération d'exportation vers Cloud Storage échoue. Dans ce cas, vous devez diviser vos fichiers d'exportation en segments plus petits.

Dépannage

Cliquez sur les liens du tableau pour en savoir plus :

Pour ce problème... Le problème peut être... Essayez ce qui suit...
L'importation prend trop de temps. Un trop grand nombre de connexions actives peut interférer avec les opérations d'importation. Fermez les connexions inutilisées ou redémarrez l'instance Cloud SQL avant de lancer une opération d'importation.
Échec de l'importation. Le fichier exporté peut contenir des utilisateurs de base de données qui n'existent pas encore. Nettoyez la base de données en échec avant de relancer l'importation. Créez les utilisateurs de la base de données avant d'effectuer l'importation.

L'importation prend trop de temps.

L'importation prend trop de temps, ce qui bloque d'autres opérations.

Cause possible

Un trop grand nombre de connexions actives peut interférer avec les opérations d'importation. Les connexions consomment des ressources de processeur et de mémoire, limitant ainsi leur disponibilité.

Solutions possibles

Fermez les opérations inutilisées. Examinez l'utilisation du processeur et de la mémoire pour vérifier que vous disposez de ressources suffisantes. Le meilleur moyen de s'assurer de la présence d'un nombre maximal de ressources pour l'opération d'importation consiste à redémarrer l'instance avant de lancer l'importation. Un redémarrage :

  • ferme toutes les connexions ;
  • met fin à toutes les tâches susceptibles de consommer des ressources.


Échec de l'importation

L'importation échoue lorsqu'un ou plusieurs utilisateurs référencés dans le fichier de vidage SQL exporté n'existent pas.

Cause possible

Avant d'importer un fichier de vidage SQL, tous les utilisateurs de la base de données qui possèdent des objets ou disposent d'autorisations sur les objets qu'elle contient doivent exister. Si ce n'est pas le cas, la restauration ne parvient pas à recréer les objets en rétablissant les propriétaires et/ou les autorisations d'origine.

Solutions possibles

Nettoyez la base de données en échec avant de relancer l'importation. Créez les utilisateurs de la base de données avant d'importer le fichier de vidage SQL.


Cliquez sur les liens du tableau pour en savoir plus :

Pour ce problème... Le problème peut être... Essayez ce qui suit...
Impossible d'afficher l'état de l'opération. L'interface utilisateur n'affiche que les opérations réussies ou échouées. Exécutez ces commandes de base de données pour en savoir plus.
La connexion se ferme lors de l'exportation. La requête doit produire des données dans les sept premières minutes. Testez la requête manuellement. En savoir plus
Erreur inconnue lors de l'exportation. Problème de bande passante possible. Assurez-vous que l'instance et le bucket Cloud Storage se trouvent dans la même région.
Vous souhaitez automatiser les exportations. Cloud SQL ne permet pas d'automatiser les exportations. Créez votre propre pipeline pour exécuter cette fonctionnalité. En savoir plus

Impossible d'afficher l'état de l'opération

Vous ne pouvez pas voir l'état d'une opération en cours.

Cause possible

Une fois l'opération terminée, Google Cloud Console ne signale que les réussites ou les échecs, mais n'est pas conçu pour renvoyer des avertissements.

Solutions possibles

Connectez-vous à la base de données et exécutez SHOW WARNINGS.


Fermeture de la connexion lors de l'exportation

La connexion se ferme lors de l'exportation.

Cause possible

La connexion à Cloud Storage expire peut-être parce que la requête exécutée lors de l'exportation ne produit aucune donnée dans les sept minutes suivant le lancement de l'exportation.

Solutions possibles

Testez la requête manuellement en vous connectant depuis n'importe quel client et en envoyant le résultat de votre requête à STDOUT à l'aide de la commande ci-dessous :

COPY (INSERT_YOUR_QUERY_HERE) TO STDOUT WITH ( FORMAT csv, DELIMITER ',', ENCODING 'UTF8', QUOTE '"', ESCAPE '"' )

Ce comportement est normal, car le client est censé commencer à envoyer des données immédiatement après le lancement de l'exportation. Une connexion maintenue ouverte sans envoyer de données finit par s'interrompre, ce qui entraîne l'échec de l'exportation et laisse l'opération dans un état d'incertitude. En outre, le message d'erreur de gcloud suivant s'affiche :

operation is taking longer than expected


Erreur inconnue lors de l'exportation

Le message d'erreur Unknown error s'affiche lorsque vous tentez d'exporter une base de données vers un bucket Cloud Storage.

Cause possible

Le transfert peut échouer en raison d'un problème de bande passante.

L'instance Cloud SQL peut se trouver dans une région différente de celle du bucket Cloud Storage. La lecture et l'écriture de données d'un continent à l'autre impliquent une utilisation importante du réseau, pouvant entraîner ce type de problèmes intermittents. Vérifiez les régions de votre instance et de votre bucket.

Solutions possibles

Rapprochez le bucket Cloud Storage de l'instance Cloud SQL. Exécutez l'opération lorsque l'activité est plus faible.

Vous souhaitez automatiser les exportations

Vous souhaitez automatiser les exportations.

Cause possible

Cloud SQL ne permet pas d'automatiser les exportations.

Solutions possibles

Vous pouvez créer votre propre système d'exportation automatisé à l'aide de produits Google Cloud tels que Cloud Scheduler, Pub/Sub et Cloud Functions.


Erreur système de type ERROR_RDBMS

Le message d'erreur [ERROR_RDBMS] system error occurred s'affiche.

Cause possible

  • Il se peut que l'utilisateur ne dispose pas de toutes les autorisations Cloud Storage dont il a besoin.
  • La table de base de données n'existe peut-être pas

Solutions possibles

  1. Vérifiez que vous disposez tout au moins des autorisations WRITER sur le bucket et READER sur le fichier d'exportation. Pour en savoir plus sur la configuration du contrôle d'accès dans Cloud Storage, consultez la page Créer et gérer des listes de contrôle d'accès.
  2. Assurez-vous que la table existe. Si tel est le cas, vérifiez que vous disposez des autorisations appropriées sur le bucket.

Étape suivante