Recursos do Cloud SQL

Esta página mostra os principais recursos e capacidades do Cloud SQL. O Cloud SQL está disponível para MySQL, PostgreSQL e SQL Server.

Cloud SQL para MySQL

Recursos

  • Bancos de dados MySQL Community Edition totalmente gerenciados na nuvem.
  • As instâncias de segunda geração aceitam MySQL 5.6 ou 5.7 e fornecem até 416 GB de RAM e 30 TB de armazenamento de dados, com a opção de aumentar automaticamente o tamanho do armazenamento conforme necessário.
  • As instâncias de primeira geração aceitam MySQL 5.5 ou 5.6 e fornecem até 16 GB de RAM e 500 GB de armazenamento de dados.

  • Crie e gerencie instâncias no Console do Google Cloud.
  • Instâncias disponíveis nos EUA, na UE, na Ásia ou na Austrália.
  • Os dados do cliente são criptografados nas redes internas do Google e em tabelas de banco de dados, arquivos temporários e backups.
  • Suporte para conexões externas seguras com o Cloud SQL Proxy ou com o protocolo SSL/TLS.
  • Suporte para IP privado (acesso a serviços privados).
  • Replicação de dados entre várias zonas com failover automático.
  • Importação e exportação de bancos de dados com o mysqldumpou arquivos CSV.
  • Suporte para MySQL Wire Protocol e conectores padrão do MySQL.
  • Backups automatizados e sob demanda, além de recuperação pontual.
  • Clonagem de instâncias.
  • Integração com registro e monitoramento do Stackdriver.
  • Conformidade com ISO/IEC 27001.

Idiomas compatíveis

Você pode usar o Cloud SQL para MySQL com aplicativos do App Engine escritos em Java, Python, PHP, Node.js, Go e Ruby. Também pode ser usado com aplicativos externos com o protocolo padrão MySQL.

Como conectar-se a instâncias do Cloud SQL para MySQL

Você pode se conectar a uma instância do Cloud SQL para o MySQL em:

Não é possível se conectar ao Cloud SQL usando o acesso privado do Google. O acesso por serviços privados é compatível. Para mais informações, consulte Opções de acesso privado para serviços.

Diferenças entre o Cloud SQL e a funcionalidade padrão do MySQL

Em geral, a funcionalidade do MySQL fornecida por uma instância do Cloud SQL é a mesma fornecida por uma instância hospedada no local. No entanto, existem algumas diferenças entre uma instância padrão do MySQL e uma do Cloud SQL para MySQL.

Recursos não suportados

Instruções incompatíveis

O envio dos seguintes tipos de instruções SQL gera um erro com a mensagem "Error 1290: The MySQL server is running with the google option so it cannot execute this statement" (Erro 1290: o servidor MySQL está sendo executado com a opção do Google e não pode executar esta instrução):

  • LOAD DATA INFILE

    Observe que LOAD DATA LOCALINFILE é compatível.

  • SELECT ... INTO OUTFILE

  • SELECT ... INTO DUMPFILE

  • INSTALL PLUGIN ...

  • UNINSTALL PLUGIN

  • CREATE FUNCTION ... SONAME ...

Instruções não compatíveis para instâncias da segunda geração

As instruções a seguir não são compatíveis porque as instâncias de segunda geração usam a replicação GTID:

  • instruções CREATE TABLE ... SELECT
  • instruções CREATE TEMPORARY TABLE dentro de transações
  • transações ou instruções que atualizam tabelas transacionais e não transacionais

Para saber mais informações, consulte a documentação do MySQL.

Funções não compatíveis

  • LOAD_FILE()

Recursos de programa cliente incompatíveis

  • mysqlimport sem usar a opção --local. Isso ocorre devido à restrição LOAD DATA INFILE. Se for preciso carregar dados remotamente, use a função de importação do Cloud SQL.

  • mysqldump usando a opção --tab ou as opções que são usadas com --tab. Isso ocorre porque o privilégio FILE não é concedido para os usuários da instância. Todas as outras opções do mysqldump são compatíveis.

  • Para importar bancos de dados com dados binários para a instância MySQL do Cloud SQL, use a opção --hex-blob com mysqldump.

    hex-blob não é uma sinalização obrigatória ao usar uma instância local do servidor MySQL e o cliente mysql, mas ela será necessária se você quiser importar um banco de dados com dados binários para a instância do Cloud SQL. Para mais informações sobre como importar dados, consulte Como importar dados.

  • Nem todas as opções e parâmetros do MySQL estão ativados para edição como sinalizações do Cloud SQL.

    Para solicitar a adição de uma sinalização do Cloud SQL configurável, use o grupo de discussão do Cloud SQL (em inglês).

  • Para instâncias da segunda geração, o único mecanismo de armazenamento aceito é o InnoDB. Para ajuda com a conversão de tabelas do MyISAM para o InnoDB, consulte a documentação do MySQL.

  • Não é possível importar nem exportar acionadores, funções, procedimentos armazenados ou visualizações no Cloud SQL. No entanto, você pode criar e usar esses elementos em uma instância do Cloud SQL.

Opções MySQL notáveis

O Cloud SQL executa o MySQL com um conjunto específico de opções. Se uma opção puder afetar o funcionamento dos aplicativos, essa informação será indicada aqui.

skip-name-resolve

Essa sinalização afeta o modo como os nomes de host são resolvidos para conexões de cliente. Saiba mais

Cloud SQL para PostgreSQL

Recursos

  • Bancos de dados PostgreSQL totalmente gerenciados na nuvem, com base na plataforma Cloud SQL de segunda geração.
  • Tipos de máquina personalizados com até 416 GB de RAM e 64 CPUs.
  • Até 30 TB de armazenamento disponível, com a capacidade de aumentar automaticamente o tamanho de armazenamento conforme necessário.
  • Crie e gerencie instâncias no Console do Google Cloud.
  • Instâncias disponíveis nos EUA, na UE, na Ásia ou na Austrália.
  • Os dados do cliente são criptografados nas redes internas do Google e em tabelas de banco de dados, arquivos temporários e backups.
  • Suporte para conexões externas seguras com o Cloud SQL Proxy ou com o protocolo SSL/TLS.
  • Replicação de dados entre várias zonas com failover automático.
  • Importar e exportar bancos de dados usando arquivos de despejo SQL.
  • Suporte para o protocolo cliente-servidor do PostgreSQL e conectores padrão do PostgreSQL.
  • Backups automatizados e sob demanda.
  • Clonagem de instâncias.
  • Integração com registro e monitoramento do Stackdriver.
  • Suporte para várias versões do PostgreSQL.

Recursos ainda não disponíveis

Alguns recursos do PostgreSQL ainda não estão disponíveis para o Cloud SQL:

  • recuperação com horários definidos (PITR, na sigla em inglês)
  • importação/exportação no formato CSV usando o Console do Cloud ou a ferramenta de linha de comando gcloud.

Recursos do Postgres 11 (padrão) que ainda não estão disponíveis para o Cloud SQL:

  • replicação lógica
  • permissão para configuração do tamanho de WAL durante o initdb
  • compilação do plano JIT

Extensões compatíveis

O Cloud SQL para PostgreSQL aceita muitas extensões do PostgreSQL. Para ver uma lista completa, consulte Extensões do PostgreSQL.

Linguagens procedurais compatíveis

Cloud SQL para PostgreSQL é compatível com a PL/pgSQL linguagem procedimental SQL.

Idiomas compatíveis

Você pode usar o Cloud SQL para PostgreSQL com aplicativos do App Engine escritos em Java, Python, PHP, Node.js, Go e Ruby. Você também pode usar o Cloud SQL para PostgreSQL com aplicativos externos que usem o protocolo padrão cliente-servidor do PostgreSQL.

Como se conectar a instâncias do Cloud SQL para PostgreSQL

Você pode se conectar a uma instância do Cloud SQL para PostgreSQL a partir de:

  • um cliente psql. Saiba mais
  • ferramentas de terceiros que usam o protocolo cliente-servidor padrão do PostgreSQL
  • aplicativos externos. Saiba mais
  • aplicativos do App Engine. Saiba mais
  • aplicativos em execução no Compute Engine. Saiba mais
  • aplicativos em execução no Google Kubernetes Engine. Saiba mais
  • Cloud Functions. Saiba mais
  • Cloud Run. Saiba mais

Não é possível se conectar ao Cloud SQL usando o acesso privado do Google.

Diferenças entre as funcionalidades do Cloud SQL e do PostgreSQL padrão

Em geral, a funcionalidade do PostgreSQL fornecida por uma instância do Cloud SQL é a mesma fornecida por uma instância do PostgreSQL localmente hospedada. No entanto, há algumas diferenças entre uma instância padrão do PostgreSQL e uma instância do Cloud SQL para PostgreSQL.

Recursos não suportados

  • Recursos que exigem privilégios de SUPERUSER.

    Há uma exceção a essa regra para a instrução CREATE EXTENSION, mas somente para extensões compatíveis.

  • Trabalhos de segundo plano personalizados.

  • O cliente psql no Cloud Shell não é compatível com operações que exigem uma reconexão, como a conexão com um banco de dados diferente usando o comando \c.

Diferenças significativas

Cloud SQL para SQL Server

Recursos

  • Bancos de dados do SQL Server totalmente gerenciados na nuvem.
  • Tipos de máquina personalizados com até 416 GB de RAM e 64 CPUs.
  • Até 30 TB de armazenamento disponível, com a capacidade de aumentar automaticamente o tamanho de armazenamento conforme necessário.
  • Crie e gerencie instâncias no Console do Google Cloud.
  • Instâncias disponíveis nos EUA, na UE, na Ásia ou na Austrália.
  • Os dados do cliente são criptografados nas redes internas do Google e em tabelas de banco de dados, arquivos temporários e backups.
  • Suporte para conexões externas seguras com o Cloud SQL Proxy ou com o protocolo SSL/TLS.
  • Importação de bancos de dados usando arquivos BAK e SQL nativos.
  • Exportação de bancos de dados usando arquivos BAK nativos.
  • Backups automatizados e sob demanda.
  • Integração com registro e monitoramento do Stackdriver.

Recursos do SQL Server indisponíveis para o Cloud SQL:

Recursos gerais indisponíveis para o Cloud SQL

  • SQL Server Reporting Services (SSRS), mas você pode usar o Compute Engine ou um ambiente autogerenciado (que você se conecta ao Cloud SQL)
  • SQL Server Analysis Services (SSAS), mas você pode usar o Compute Engine ou um ambiente autogerenciado (que você se conecta ao Cloud SQL)
  • SQL Server Integration Services (SSIS), mas você pode usar o Compute Engine ou um ambiente autogerenciado (que você se conecta ao Cloud SQL)
  • Autenticação AD
  • Configurações SP_Configure (consulte Como configurar sinalizações do banco de dados)
  • Expandir o banco de dados
  • Como fazer backup no armazenamento de Blobs do Microsoft Azure
  • Extensão do pool de buffer
  • Recursos BULK INSERT e OPENROWSET(BULK...)
  • Serviços de qualidade de dados
  • Envio de registros do banco de dados
  • Grupos de disponibilidade sempre ativados
  • Email do banco de dados
  • Coordenador de transações de distribuição (MSDTC)
  • Tabelas de arquivos
  • Suporte para FILESTREAM
  • Planos de manutenção
  • Coletor de dados de desempenho
  • Gerenciamento com base em políticas
  • PolyBase
  • aprendizado de máquina e Serviços R (necessita de acesso ao SO para instalar)
  • Replicação
  • Gerenciamento de Recursos
  • Auditoria do SQL Server
  • Gatilhos a nível de servidor
  • Endpoints do agente de serviços
  • Endpoints T-SQL (todas as operações que usam CREATE ENDPOINT estão indisponíveis)
  • Serviços de dados WCF

Outras operações indisponíveis para o 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

Sintaxe aceita

O Cloud SQL para SQL Server é compatível com a sintaxe Transact-SQL.

Idiomas compatíveis

Você pode usar o Cloud SQL para SQL Server com aplicativos do App Engine escritos em Java, Python, PHP, Node.js, Go e Ruby.

Como conectar-se a instâncias do Cloud SQL para SQL Server

É possível conectar-se a instâncias do Cloud SQL para SQL Server a partir de:

Não é possível se conectar ao Cloud SQL usando o acesso privado do Google.