Esse artigo faz parte da revista SQL Magazine edição 56. Clique aqui para ler todos os artigos desta edição
Clique aqui para ler esse editorial em PDF MySQL Utilizando o MySQL Migration Toolkit para a Migração de Dados Com a disseminação dos sistemas de informação, tornou-se comum a existência de vastos repositórios de dados contendo informações acerca das mais variadas áreas de conhecimento. Dessa forma, é cada vez mais comum a adoção de variados sistemas de informação com o intuito de controlar os processos produtivos de cada setor da empresa. Na prática, há uma miscelânea de dados correlacionados, que em geral são armazenados em bases de dados e Sistemas de Gerenciamento de Banco de Dados (SGBD) distintos. Para ilustrar, pode-se ter um sistema baseado em Oracle para o controle de vendas e clientes, enquanto um sistema baseado em SQL Server trata das informações relacionadas aos funcionários da empresa. Finalmente, os sistemas de venda pela Internet são construídos baseados na arquitetura LAMP (Linux/Apache/MySQL/PHP,Perl,Python), mantendo os dados em uma base MySQL. Dentro deste contexto, é comum ter-se situações em que é necessário gerar relatórios e fazer análises das correlações existentes nas várias bases de dados existentes na empresa. Nessas situações, o ideal seria ter todos os dados centralizados em um único SGBD, facilitando a extração das informações relevantes. Além disto, é comum a migração entre sistemas a fim de agregar novas funcionalidades ao processo produtivo, ou até mesmo reduzir custos relativos à manutenção dos mesmos. Neste cenário, é cada vez mais importante ter-se uma ferramenta que auxilie o processo de transferência de dados entre os diversos SGBDs existentes no mercado. Esta tarefa não é trivial, pois apesar de os SGBDs utilizarem uma linguagem padrão, o SQL, nem toda implementação segue à risca o conjunto de regras definidos pelo ANSI/SQL, ou seja, podem existir variações na sintaxe de comandos, bem como nos tipos de suportados por cada SGBD. A MySQL AB/Sun disponibiliza o MySQL Migration Toolkit (MMT), distribuído sob a licença GPL, que pode ser obtido a partir do endereço http://www.mysql.com/products/tools/migration-toolkit/. Esta ferramenta apresenta mecanismos que permitem migrar bases de dados dos SGBDs mais comuns, por exemplo Oracle, MS SQL Server, Sybase, dentre outros, para um banco de dados MySQL, ou para qualquer outro SGBD suportado. O objetivo principal deste artigo é prover um passo a passo ilustrando as etapas de migração de uma base de dados do SQL Server para o MySQL. Cada etapa do processo será detalhada apresentando as principais funcionalidades bem como as limitações desta ferramenta. Utilizando um banco de dados exemplo No decorrer deste artigo será utilizada uma base de dados do SQL Server chamada NorthWind, que pode ser obtida a partir do endereço http://www.microsoft.com/downloads/details.aspx?FamilyID=06616212-0356-46a0-8da2-eebc53a68034. Esta base de dados contém algumas tabelas, views e procedures que deverão ser migradas para o MySQL, utilizando o MySQL Migration Toolkit. Vale ressaltar que este tutorial foi desenvolvido utilizando-se o MS SQL Server 2005, versão Express, o MySQL Migration Toolkit versão 1.1.12, o MySQL versão 5.0.45 e o MySQL Query Browser 1.2.12. Iremos partir do principio de que estes softwares estejam já instalados e funcionando corretamente. Não é propósito deste artigo tratar a instalação deles. Além disto, é importante destacar que os softwares da MySQL AB utilizados na elaboração deste artigo podem ser encontrados no endereço www.mysql.com/downloads. Descrevendo o processo de migração de dados do MySQL Migration Toolkit (MMT) O MMT tem como objetivo possibilitar a migração dos objetos de banco de dados entre SGBDs diferentes, ou seja, conversão de tabelas, views e registros, e também auxiliar no processo de migração de procedures e triggers. O processo de conversão de rotinas entre SGBDs não é tarefa simples, uma vez que a linguagem utilizada para a construção das mesmas nem sempre são compatíveis entre os diferentes sistemas. Neste caso, o MMT possui uma estrutura flexível que permite a elaboração de scripts contendo instruções para o correto mapeamento dos comandos de uma rotina existente em um SGBD para o sistema de destino. Por exemplo, pode-se criar uma rotina para mapeamento de procedures do Oracle, tratando as suas especificidades, e uma outra rotina para controlar os aspectos inerentes ao SQL Server, uma vez que cada SGBD possui a sua própria estrutura de linguagem para a construção de procedures. Outra questão importante se refere à manipulação das estruturas de dados, como é o caso dos dados espaciais (GIS – Ver Nota DevMan 1) ou até mesmo os BLOBs. Neste caso, os tipos de dados podem não ser compatíveis entre o SGBD de origem e o de destino. Assim, esta mesma estrutura de scripts do MMT provê recursos para que estes tratamentos específicos sejam feitos por uma rotina voltada para os SGBDs envolvidos no processo. Nota DevMan 1. GIS – Sistema de Informação Geográfica (Bancos de Dados Geográficos) Bancos de Dados Geográficos: São bancos de dados preparados para armazenar dados sobre informações espaciais. São comumente chamados de Sistemas de Informações Geográficas (SIG). Este tipo de banco de dados tem o intuito manipular um imenso volume de informações de grande complexidade, como mapas e imagens de satélite. ...
Utilizando o MySQL Migration Toolkit para a Migração de Dados
O objetivo principal deste artigo é prover um passo a passo ilustrando as etapas de migração de uma base de dados do SQL Server para o MySQL.
Confira outros conteúdos:
SQL SUM: somando os valores de uma...
SQL: INNER JOIN
SQL: Introdução ao Where
Black November
Desconto exclusivo para as primeiras 200 matrículas!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 54,90
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 54,90 /mês
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.