Banco de dados MySQL de origem

Essa seção contém informações sobre:

  • O comportamento de como o Datastream lida com dados que estão sendo extraídos de um banco de dados MySQL de origem
  • As versões do banco de dados MySQL compatível com o Datastream
  • Limitações conhecidas para o uso do banco de dados MySQL como fonte
  • Uma visão geral de como configurar um banco de dados MySQL de origem para que os dados possam ser transmitidos dele para um destino

Comportamento

O banco de dados MySQL de origem depende do recurso de registro binário para expor alterações nos dados.

  • É possível selecionar todos os bancos de dados ou bancos de dados específicos de uma determinada origem MySQL, bem como todas as tabelas dos bancos de dados ou tabelas específicas.
  • Todos os dados históricos são replicados.
  • Todas as alterações na linguagem de manipulação de dados (DML, na sigla em inglês), como inserções, atualizações e exclusões de bancos de dados e tabelas especificados, são replicadas.
  • Apenas alterações confirmadas são replicadas.

Versões

O Datastream é compatível com as seguintes versões do banco de dados MySQL:

  • MySQL 5.6
  • MySQL 5.7
  • MySQL 8.0

O Datastream é compatível com os seguintes tipos de banco de dados do MySQL:

Limitações conhecidas

Limitações conhecidas para o uso do banco de dados MySQL como fonte incluem:

  • Os streams são limitados a 10.000 tabelas.
  • Tabelas que têm uma chave primária definida como INVISIBLE não podem ser preenchidas.
  • Uma tabela com mais de 500 milhões de linhas não pode ser preenchida, a menos que as seguintes condições sejam atendidas:
    1. A tabela tem um índice exclusivo.
    2. Nenhuma das colunas do índice é anulável.
    3. O índice não é decrescente.
    4. Todas as colunas do índice estão incluídas no fluxo.
  • O Datastream busca periodicamente o esquema mais recente da origem à medida que os eventos são processados. Se um esquema for alterado, o Datastream detectará a alteração e acionará uma busca de esquema. No entanto, alguns eventos podem ser processados incorretamente ou descartados entre as buscas de esquema, o que pode causar discrepâncias de dados.
  • Nem todas as alterações no esquema de origem podem ser detectadas automaticamente. Nesse caso, pode ocorrer corrupção de dados. As seguintes alterações de esquema podem causar corrupção de dados ou falha no processamento de eventos downstream:
    • Como descartar colunas
    • Como adicionar colunas no meio de uma tabela
    • Como alterar o tipo de dados de uma coluna
    • Como reorganizar as colunas
    • Como descartar tabelas (relevantes se a mesma tabela for recriada com novos dados adicionados)
    • Truncando tabelas
  • O Datastream não é compatível com a replicação de visualizações.
  • O Datastream não aceita colunas de tipos de dados espaciais. Os valores nessas colunas são substituídos por valores NULL.
  • O Datastream não é compatível com o valor zero (0000-00-00 00:00:00) nas colunas dos tipos de dados DATETIME, DATE ou TIMESTAMP. O valor zero será substituído pelo valor NULL.
  • O Datastream não oferece suporte à replicação de linhas que incluem os seguintes valores nas colunas JSON: DECIMAL, NEWDECIMAL, TIME, TIME2 DATETIME, DATETIME2, DATE, TIMESTAMP ou TIMESTAMP2. Os eventos que contêm esses valores são descartados.
  • O Datastream não oferece suporte à compactação de transações de registros binários.
  • O Datastream não aceita cadeias de certificados SSL nos perfis de conexão do MySQL de origem. Somente certificados x509 codificados por PEM são compatíveis.
  • O Datastream não aceita exclusões em cascata. Esses eventos não são gravados no registro binário e, como resultado, não são propagados para o destino.
  • O Datastream não aceita failovers para réplicas. Por isso, não recomendamos o uso do Datastream para replicação de fontes do Cloud SQL para MySQL Enterprise Plus. As instâncias da edição Enterprise Plus do Cloud SQL estão sujeitas a inatividade com quase zero e fazem o failover para uma réplica durante a manutenção. Isso quebra a continuidade do binlog e, como resultado, os streams afetados falham permanentemente.