Sobre Snowflake Connector for MySQL¶
Importante
Agradecemos pelo seu interesse no conector Snowflake para MySQL. Agora, estamos focados em uma solução de próxima geração que oferecerá uma experiência significativamente melhor. Portanto, no momento não temos planos de passar esse conector para o status de disponibilidade geral. Você pode continuar usando esse conector como um recurso em versão preliminar, mas o suporte para futuras correções de bugs e melhorias não é garantido. A nova solução está disponível como Conector Openflow para MySQL e inclui melhor desempenho, personalização e opções aprimoradas de implantação.
O Snowflake Connector for MySQL permite:
Carregar dados no Snowflake a partir de um banco de dados MySQL.
Configure a replicação para que as alterações em seu banco de dados MySQL sejam replicadas para o Snowflake.
Para manipular conexões entre Snowflake e MySQL, o conector usa um agente. O agente é distribuído como uma imagem Docker. O agente é executado em sua rede e é usado para enviar por push dados para sua conta Snowflake.
Nota
O Snowflake Connector for MySQL requer que exatamente uma instância do aplicativo agente esteja em execução o tempo todo.
As atualizações incrementais em andamento usam a técnica de captura de dados de alteração (CDC) que obtém as alterações realizadas no banco de dados de origem. As alterações incluem operações INSERT, UPDATE e DELETE, que são replicadas automaticamente no banco de dados de destino Snowflake.
Várias instâncias de aplicativos¶
É possível instalar várias instâncias Snowflake Connector for MySQL em sua conta Snowflake. Para obter mais informações, consulte Opcional: Instalação de várias instâncias do Snowflake Connector for MySQL.
Links privados¶
O Snowflake Connector para MySQL oferece suporte a links privados. Para obter mais informações, consulte:
Compatibilidades com os aplicativos do Agent e conector¶
O Snowflake Connector for MySQL está sendo lançado em uma versão específica, descrita como versão x.y.z, onde x é a versão principal, y é a secundária e z é a patch. Os Agents no dockerhub também são lançados com a versão X.Y.Z. Cada versão x.y.z do Snowflake Connector for MySQL oferece suporte a todos os agentes com a mesma versão principal X=x e não a uma versão secundária maior do agente. Além disso, cada versão x.0.0 do Snowflake Connector for MySQL oferece suporte a todas as versões (x-1).Y.Z do agente para todas as versões Y e Z.
Limitações conhecidas¶
As seções a seguir descrevem as limitações conhecidas do conector.
Tamanho da transação¶
O conector está sujeito às mesmas limitações que a replicação do grupo MySQL. Isso significa que uma única transação deve caber em uma mensagem de log binário de no máximo 4GB. Transações que excederem esse tamanho farão com que a tabela de origem seja marcada como falha permanente e exigirão um recarregamento instantâneo completo da tabela associada.
Disponibilidade do conector¶
Ao instalar o conector, observe as seguintes limitações:
As contas nas regiões governamentais não são suportadas.
Para instalar e configurar o conector, você deve estar conectado como um usuário com a função ACCOUNTADMIN. Outras funções não são suportadas neste momento.
Compatibilidade de tipos¶
As diferenças entre o banco de dados de origem e os tipos de coluna Snowflake fazem com que alguns valores não possam ser convertidos e gravados no Snowflake, devido à capacidade máxima da coluna ou aos intervalos permitidos. Por exemplo:
O tipo Snowflake BINARY tem um comprimento máximo de 64 MB (67108864 bytes)
Os tipos de data em Snowflake, como DATE, DATETIME e TIMESTAMP, têm um ano máximo de 9999
O tipo Snowflake VARCHAR tem um comprimento máximo de 128 MB (134217728 bytes)
Se tal incompatibilidade ocorrer, a replicação de uma tabela será interrompida com uma falha.
Alterações no esquema de tabela de origem¶
A tabela a seguir mostra diferentes tipos de alterações no esquema de tabela de origem, se elas são compatíveis e, em caso afirmativo, como.
Novos nomes de coluna estão sujeitos às mesmas limitações descritas na seção Limitações de identificadores.
Tipo de alteração de esquema |
Tem suporte? |
Notas |
---|---|---|
Adicionando uma nova coluna |
Sim |
A nova coluna ficará visível na tabela de destino como qualquer outra coluna existente no início da replicação. Não é possível adicionar uma nova coluna com o mesmo nome de uma coluna excluída ou renomeada anteriormente. Por exemplo, se as colunas |
Excluindo uma coluna existente |
Sim |
Se uma coluna for excluída na tabela de origem, ela não será excluída na tabela de destino. Em vez disso, uma abordagem de exclusão suave é adotada, e a coluna será renomeada para Por exemplo, se a coluna |
Como renomear uma coluna |
Sim |
Renomear uma coluna é o mesmo que excluir a coluna e criar uma nova com o novo nome. A exclusão segue a abordagem de exclusão suave explicada na linha anterior. Por exemplo, se a coluna Não é possível renomear uma coluna com o mesmo nome de uma coluna excluída ou renomeada anteriormente. Por exemplo, se as colunas |
Alterando o tipo de coluna |
Parcialmente |
Alterar o tipo de coluna da tabela de origem só é possível se o tipo anterior e o novo forem mapeados para o mesmo tipo no Snowflake. Em qualquer outro caso, a replicação falhará permanentemente. |
Alteração da precisão de uma coluna numérica |
Não |
Alterar a precisão de uma coluna da tabela de origem resultará em falha permanente na replicação. |
Alteração da escala de uma coluna numérica |
Não |
Alterar a escala de uma coluna da tabela de origem resultará em falha permanente na replicação. |
Alterando a definição da chave primária |
Não |
Alterar a definição da chave primária da coluna da tabela de origem resultará na falha permanente da replicação. |
Colunas de alta capacidade¶
Um agente ativo lê continuamente todos os eventos do log binário, mesmo que alguns eventos se refiram a tabelas de origem que não foram adicionadas para replicação. Se o log binário contiver eventos muito grandes, como atualizações de colunas do tipo BLOB, o agente poderá travar devido à falta de memória disponível.
Chaves primárias¶
Tabelas sem chaves primárias não são compatíveis.
Limitações dos identificadores¶
Atualmente, o conector não oferece suporte ao caractere "
em nomes de esquema, tabela ou coluna replicados. Além disso, as seguintes palavras-chave não são compatíveis:
- Para nomes de esquema:
INFORMATION_SCHEMA
- Para nomes de coluna:
_SNOWFLAKE_INSERTED_AT
_SNOWFLAKE_UPDATED_AT
_SNOWFLAKE_DELETED
nomes com o sufixo
__SNOWFLAKE_DELETED
Nomes de coluna marcados como
Cannot be used as column name
em Palavras-chave reservadas e limitadas
versão do MySQL >= 8.0.0¶
Atualmente, o conector depende da propriedade de configuração binlog_row_metadata = full
que foi introduzida na versão 8 do MySQL.