Atenção: esse artigo tem um vídeo complementar. Clique e assista!

De que se trata o artigo:

Apresentar alternativas técnicas tais como conversão de instruções, replicação, administração e outras que permitem a troca de dados e de objetos entre diferentes bancos de dados relacionais, como o SQL Server, Oracle, MySQL e PostgreSQL.


Para que serve:

O conteúdo apresentado neste artigo serve como um guia para auxiliar os profissionais que precisam trocar informações entre bancos de dados diferentes.


Em que situação o tema é útil:

As abordagens e recursos citados neste artigo são úteis para DBAs e desenvolvedores que lidam com ambientes de bancos de dados diversos e possuem requisitos de interoperabilidade.

Resumo DevMan

Este artigo, apresenta alternativas técnicas tais como conversão de instruções, replicação, administração e outras que permitem a troca de dados e de objetos entre diferentes bancos de dados relacionais, como o SQL Server, Oracle, MySQL e PostgreSQL. As abordagens apresentadas neste artigo podem ser utilizadas para atender a diversas necessidades do dia a dia de um DBA: montar um ambiente de testes/homologação, transferir dados, criar uma solução de replicação, analisar, comparar e estudar o desempenho de tarefas semelhantes em diferentes bancos de dados, etc.

A utilização de diferentes bancos de dados e de diferentes plataformas é uma realidade em muitas empresas. Nestas situações, chamadas de ambientes multi-banco, os profissionais que trabalham no desenvolvimento, administração e infraestrutura devem ser capazes de conhecer e dominar diversas ferramentas, técnicas, recursos e outros artifícios para fornecer a interoperabilidade necessária entre os diferentes bancos de dados presentes na empresa.

Como os principais bancos de dados relacionais utilizados atualmente pelas empresas são o SQL Server, o Oracle, o PostgreSQL e o MySQL, sendo os dois primeiros de código proprietário e os dois últimos de código livre, faz sentido buscar soluções que forneçam maneiras de trocar dados, objetos e outros elementos entre eles. Apesar de todos possuírem recursos similares e implementarem a linguagem SQL, poucos recursos nativos dos produtos permitem a interoperabilidade, comunicação e a troca de informações.

Com base em um cenário multi-banco que envolve o SQL Server, o Oracle, o PostgreSQL e o MySQL este artigo discutirá algumas alternativas existentes para a interoperabilidade e troca de objetos e dados. Obviamente, o foco do artigo é na comunicação entre os bancos de dados e não em como permitir que as aplicações (sistemas ERP, sites da Internet e da Intranet, aplicativos de ponto de venda – PDV – dentre outros) que interagem com eles sejam capazes de alternar entre os bancos de dados citados.

As abordagens apresentadas neste artigo podem ser utilizadas para atender a diversas necessidades do dia a dia de um DBA: montar um ambiente de testes/homologação, transferir dados, criar uma solução de replicação, analisar, comparar e estudar o desempenho de tarefas semelhantes em diferentes bancos de dados, etc. Além disso, contar com soluções para fazer com que os bancos de dados se comuniquem pode facilitar a execução de tarefas no dia a dia e também aumentar o nível de experiência e competência dos profissionais envolvidos.

Planejando a interoperabilidade

A presença de um ambiente multi-banco em uma empresa não é algo raro. Geralmente isso acontece devido aos diferentes tipos de software que são utilizados e seus requisitos para armazenamento de dados. Por exemplo, se uma empresa adquire um ERP (Enterprise Resource Planning) para controlar suas despesas, vendas, lucros e outros ativos e passivos, provavelmente este ERP vai precisar de um banco de dados de um fornecedor. Já para montar a intranet da empresa é necessário outro software que pode necessitar de outro banco de dados de outro fornecedor. Apesar de diversos fabricantes de software cada vez mais se preocuparem em montar as aplicações de forma que elas funcionem com qualquer banco de dados, ainda é muito comum encontrar softwares que só funcionem com um banco de dados específico ou até armazenando os dados em arquivos e documentos. Esta característica é encontrada mais frequentemente quando se fala de projetos de software livre, pois a possibilidade de suportar mais de um banco de dados geralmente não é uma prioridade nas listas de funcionalidades destes projetos.

De qualquer maneira, em ambientes onde há mais de um banco de dados é preciso saber como realizar diversas tarefas semelhantes para administrar e controlar os recursos utilizados, em particular o espaço em disco necessário para o armazenamento. Apesar de cada solução possuir características e peculiaridades exclusivas, praticamente todos os bancos de dados relacionais que respondem pela sigla SGBDR (Sistema Gerenciador de Banco de dados Relacional) são provenientes dos fundamentos e princípios de bancos de dados definidos nos princípios da computação, incluindo aí o SQL Server, o Oracle, o MySQL e o PostgreSQL. Devido à pressão do mercado e de seus usuários estes quatro produtos fornecem diversos recursos similares. Talvez o principal recurso suportado por todos eles seja a linguagem SQL, que é implementada de forma ligeiramente diferente em cada produto. Assim sendo, a execução e o suporte a diversas tarefas comuns acabam se tornando uma ...

Quer ler esse conteúdo completo? Tenha acesso completo