Fonctionnalités de Cloud SQL

Cette page décrit les principales fonctionnalités de Cloud SQL. Cloud SQL est disponible pour MySQL, PostgreSQL et SQL Server.

Cloud SQL pour MySQL

Fonctionnalités

  • Base de données MySQL Community Edition entièrement gérée dans le cloud.
  • Cloud SQL est compatible avec MySQL version 5.6 ou 5.7, et offre jusqu'à 416 Go de RAM et 30 To de stockage de données, ainsi que la possibilité d'augmenter automatiquement la taille de stockage en fonction des besoins.
  • Création et gestion d'instances dans Google Cloud Console.
  • Instances disponibles aux États-Unis, dans l'Union européenne, en Asie ou en Australie.
  • Données client chiffrées sur les réseaux internes de Google, dans les tables de base de données, les fichiers temporaires et les sauvegardes.
  • Compatibilité avec des connexions externes sécurisées, via proxy Cloud SQL ou protocole SSL/TLS
  • Compatibilité avec l'adresse IP privée (accès aux services privés)
  • Réplication de données entre plusieurs zones avec basculement automatique.
  • Importation et exportation de bases de données à l'aide de mysqldump, ou importation et exportation de fichiers CSV.
  • Compatibilité avec le protocole de communication MySQL et les connecteurs MySQL standards.
  • Sauvegardes automatisées et à la demande, et récupération à un moment précis.
  • Clonage d'instance.
  • Intégration à la journalisation et à la surveillance de la suite d'opérations Google Cloud.
  • Conformité ISO/IEC 27001.

Langages acceptés

Vous pouvez utiliser Cloud SQL pour MySQL avec des applications App Engine écrites en Java, Python, PHP, Node.js, Go et Ruby. Cloud SQL pour MySQL fonctionne également avec les applications externes utilisant le protocole MySQL standard.

Comment se connecter à Cloud SQL pour les instances MySQL

Vous pouvez vous connecter à une instance Cloud SQL pour MySQL depuis :

La connexion à Cloud SQL depuis l'Accès privé à Google n'est pas possible. En revanche, l'accès privé aux services est accepté. Pour en savoir plus, consultez la section Options d'accès privé pour les services.

Différences entre les fonctionnalités Cloud SQL et les fonctionnalités MySQL standards

En général, les fonctionnalités MySQL fournies par une instance Cloud SQL sont identiques à celles fournies par une instance MySQL hébergée localement. Cependant, il existe quelques différences entre une instance MySQL standard et une instance Cloud SQL pour MySQL.

Fonctions non compatibles

Instructions non compatibles

L'envoi de l'un des types d'instructions SQL suivants génère une erreur avec le message : "Error 1290: The MySQL server is running with the google option so it cannot execute this statement" ("Erreur 1290 : Le serveur MySQL s'exécute avec l'option Google et ne peut donc pas exécuter cette instruction") :

  • LOAD DATA INFILE

    Notez que LOAD DATA LOCALINFILE est compatible.

  • SELECT ... INTO OUTFILE

  • SELECT ... INTO DUMPFILE

  • INSTALL PLUGIN ...

  • UNINSTALL PLUGIN

  • CREATE FUNCTION ... SONAME ...

Instructions non compatibles

Les instructions suivantes ne sont pas compatibles, car les instances MySQL utilisent la réplication GTID :

  • Instructions CREATE TABLE ... SELECT
  • Instructions CREATE TEMPORARY TABLE à l'intérieur des transactions
  • Transactions ou instructions mettant à jour les tables transactionnelles et non transactionnelles

Pour en savoir plus, consultez la documentation MySQL.

Fonctions non compatibles

  • LOAD_FILE()

Fonctionnalités du programme client non compatibles

  • mysqlimport sans l'option --local. Cela est dû à la restriction LOAD DATA INFILE. Si vous devez charger des données à distance, utilisez la fonction d'importation Cloud SQL.

  • mysqldump avec l'option --tab ou les options utilisées avec --tab. Cela est dû au fait que le privilège FILE n'est pas accordé aux utilisateurs d'instance. Toutes les autres options de mysqldump sont acceptées.

  • Si vous souhaitez importer des bases de données contenant des données binaires dans votre instance Cloud SQL pour MySQL, vous devez utiliser l'option --hex-blob avec mysqldump.

    Bien que l'option hex-blob ne soit pas obligatoire lors de l'utilisation d'une instance de serveur MySQL locale et du client mysql, vous devez l'utiliser si vous souhaitez importer des bases de données contenant des données binaires dans votre instance Cloud SQL. Pour en savoir plus sur l'importation de données, consultez la page Importer des données.

  • Un certain nombre d'options et de paramètres MySQL ne sont pas activés en tant qu'indicateurs Cloud SQL.

    Pour demander l'ajout d'un indicateur Cloud SQL configurable, rejoignez le groupe de discussion Cloud SQL.

  • InnoDB est le seul moteur de stockage compatible. Pour obtenir de l'aide sur la conversion de tables MyISAM vers InnoDB, consultez la documentation MySQL.

Options MySQL notables

Cloud SQL exécute MySQL avec un ensemble d’options spécifiques. Si une option présente un risque pour le fonctionnement de vos applications, nous le notons ici pour votre information.

skip-name-resolve

Cet indicateur affecte la façon dont les noms d'hôte sont résolus pour les connexions client. En savoir plus

Cloud SQL pour PostgreSQL

Fonctionnalités

  • Bases de données PostgreSQL entièrement gérées dans le cloud, basées sur la plate-forme Cloud SQL de deuxième génération.
  • Types de machines personnalisées avec jusqu'à 416 Go de RAM et 64 processeurs.
  • Jusqu'à 30 To d'espace de stockage disponible, avec la possibilité d'augmenter automatiquement la taille de l'espace de stockage en fonction des besoins.
  • Création et gestion d'instances dans Google Cloud Console.
  • Instances disponibles aux États-Unis, dans l'Union européenne, en Asie ou en Australie.
  • Données client chiffrées sur les réseaux internes de Google, dans les tables de base de données, les fichiers temporaires et les sauvegardes.
  • Compatibilité avec des connexions externes sécurisées, via proxy Cloud SQL ou protocole SSL/TLS
  • Réplication de données entre plusieurs zones avec basculement automatique.
  • Importation et exportation de bases de données à l'aide de fichiers de vidage SQL.
  • Compatibilité avec le protocole client-serveur PostgreSQL et les connecteurs PostgreSQL standards.
  • Sauvegardes automatisées et à la demande.
  • Clonage d'instance.
  • Intégration à la journalisation et à la surveillance de la suite d'opérations Google Cloud.
  • Compatibilité avec plusieurs versions de PostgreSQL.

Fonctionnalités pas encore disponibles

Certaines fonctionnalités de PostgreSQL ne sont pas encore disponibles pour Cloud SQL :

  • Récupération à un moment précis (PITR)
  • Importation/exportation au format CSV à l'aide de Cloud Console ou de l'outil de ligne de commande gcloud

Les fonctionnalités Postgres 12 ne sont pas encore disponibles pour Cloud SQL :

  • Compilation "just-in-time" (JIT) de la machine virtuelle de bas niveau (LLVM)
  • Réplication logique

Extensions acceptées

Cloud SQL pour PostgreSQL est compatible avec de nombreuses extensions PostgreSQL. Pour en obtenir la liste complète, reportez-vous à la page Extensions PostgreSQL.

Langages procéduraux acceptés

Cloud SQL pour PostgreSQL est compatible avec le langage procédural SQL PL/pgSQL.

Langages acceptés

Vous pouvez utiliser Cloud SQL pour MySQL avec des applications App Engine écrites en Java, Python, PHP, Node.js, Go et Ruby. Cloud SQL pour PostgreSQL fonctionne également avec les applications externes utilisant le protocole client-serveur PostgreSQL standard.

Comment se connecter à Cloud SQL pour les instances MySQL

Vous pouvez vous connecter à une instance Cloud SQL pour PostgreSQL depuis :

La connexion à Cloud SQL depuis l'Accès privé à Google n'est pas possible.

Différences entre les fonctionnalités Cloud SQL et les fonctionnalités PostgreSQL standards

En général, les fonctionnalités PostgreSQL fournies par une instance Cloud SQL sont identiques à celles fournies par une instance PostgreSQL hébergée localement. Cependant, il existe quelques différences entre une instance PostgreSQL standard et une instance Cloud SQL pour PostgreSQL.

Fonctions non compatibles

  • Toutes les fonctionnalités qui nécessitent des privilèges SUPERUSER

    L'instruction CREATE EXTENSION constitue une exception à cette règle, mais uniquement pour les extensions compatibles.

  • Nœuds de calcul personnalisés en arrière-plan

  • Le client psql dans Cloud Shell n'est pas compatible avec les opérations nécessitant une reconnexion, comme la connexion à une autre base de données à l'aide de la commande \c.

Différences notables

Cloud SQL pour SQL Server

Fonctionnalités

  • Bases de données SQL Server entièrement gérées dans le cloud.
  • Types de machines personnalisées avec jusqu'à 416 Go de RAM et 64 processeurs.
  • Jusqu'à 30 To d'espace de stockage disponible, avec la possibilité d'augmenter automatiquement la taille de l'espace de stockage en fonction des besoins.
  • Création et gestion d'instances dans Google Cloud Console.
  • Instances disponibles aux États-Unis, dans l'Union européenne, en Asie ou en Australie.
  • Données client chiffrées sur les réseaux internes de Google, dans les tables de base de données, les fichiers temporaires et les sauvegardes.
  • Compatibilité avec des connexions externes sécurisées, via proxy Cloud SQL ou protocole SSL/TLS
  • Importation de bases de données à l'aide de fichiers BAK et SQL natifs.
  • Exportation de bases de données à l'aide de fichiers BAK natifs.
  • Sauvegardes automatisées et à la demande.
  • Intégration à Stackdriver Logging et Monitoring.
  • Agent SQL Server activé pour faciliter la réplication et d'autres tâches.

Fonctionnalités SQL Server non disponibles pour Cloud SQL

Fonctionnalités générales non disponibles pour Cloud SQL

  • SQL Server Reporting Services (SSRS), mais vous pouvez utiliser Compute Engine ou un environnement auto-géré (à partir duquel vous vous connectez à Cloud SQL)
  • SQL Server Analysis Services (SSAS), mais vous pouvez utiliser Compute Engine ou un environnement auto-géré (à partir duquel vous vous connectez à Cloud SQL)
  • SQL Server Integration Services (SSIS), mais vous pouvez utiliser Compute Engine ou un environnement auto-géré (à partir duquel vous vous connectez à Cloud SQL)
  • Authentification AD
  • Paramètres SP_Configure (consultez toutefois la page Configurer des options de base de données)
  • Stretch Database
  • Stockage d'objets blob Microsoft Azure
  • Extension du pool de mémoire tampon
  • Fonctionnalités BULK INSERT et OPENROWSET(BULK...)
  • Services liés à la qualité des données
  • Envoi de journaux de base de données
  • Groupes de disponibilité Always On
  • Messagerie de base de données
  • Distributed Transaction Coordinator (MSDTC)
  • Tables de fichiers
  • Compatibilité de FILESTREAM
  • Plans de maintenance
  • Collecteur de données de performances
  • Gestion basée sur des règles
  • PolyBase
  • Machine learning et R Services (l'installation nécessite un accès au système d'exploitation)
  • Gouverneur de ressources
  • Audit SQL Server
  • Déclencheurs au niveau du serveur
  • Points de terminaison Service Broker
  • Points de terminaison T-SQL (toutes les opérations utilisant CREATE ENDPOINT sont indisponibles)
  • WCF Data Services

Autres opérations non disponibles pour Cloud SQL

  • ADMINISTER BULK OPERATIONS
  • ALTER ANY CREDENTIAL
  • ALTER ANY EVENT NOTIFICATION
  • ALTER ANY EVENT SESSION
  • ALTER ANY SERVER AUDIT
  • ALTER RESOURCES
  • ALTER SETTINGS
  • AUTHENTICATE SERVER
  • CONTROL_SERVER
  • CREATE DDL EVENT NOTIFICATION
  • CREATE ENDPOINT
  • CREATE TRACE EVENT NOTIFICATION
  • EXTERNAL ACCESS ASSEMBLY
  • RESTORE
  • SHUTDOWN
  • CLR ASSEMBLIES

Syntaxe applicable

Cloud SQL pour SQL Server accepte la syntaxe Transact-SQL.

Langages acceptés

Vous pouvez utiliser Cloud SQL pour SQL Server avec des applications App Engine s'exécutant dans l'environnement flexible et écrites en Java, Python, PHP, Node.js, Go et Ruby.

Comment se connecter à des instances Cloud SQL pour SQL Server

Vous pouvez vous connecter à une instance Cloud SQL pour SQL Server depuis :

La connexion à Cloud SQL depuis l'Accès privé à Google n'est pas possible.