Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Artigo SQL Magazine 50 - Interoperabilidade e replicação de PostgreSQL para outros SGBDs – Parte 1
Artigo da revista SQL Magazine edição 50.
Você não gostou da qualidade deste conteúdo?
(opcional) Você gostaria de comentar o que não lhe agradou?
PostgreSQL
Interoperabilidade e replicação de PostgreSQL para outros SGBDs – Parte 1
Acessando outros SGBDs via DBI-Link no PostgreSQL
Nesta série de artigos, que será apresentada em duas partes, implementaremos uma replicação assíncrona de um banco de dados em PostgreSQL no Windows para qualquer outro SGBD que disponibilize um driver ODBC (ver Nota 1).
A solução a ser descrita utiliza trechos de códigos do DBI-Link 1.0 (ver Nota 2), um conjunto de funções escritas em PL/Perl por David Fetter, membro do grupo de desenvolvimento do PostgreSQL. Como destino na replicação, serão usadas as versões Express Edition (XE) de cada um dos três maiores SGBDs disponíveis no mercado: Microsoft SQL Server 2005, Oracle 10g, e IBM DB2 9, todos instalados na plataforma Windows x86 (32 bits). Será utilizada a versão 8.1.5 do PostgreSQL no Windows como banco de dados de origem.
Nesta primeira etapa, trataremos exclusivamente da conexão com outros SGBDs de dentro do PostgreSQL, utilizando para isso o DBI-Link. Antes disso, veremos como criar e executar scripts em Perl no Windows, como configurar fontes de dados ODBC e como utilizá-las através da biblioteca DBD do Perl.
Nota 1. Definição de ODBC
A ODBC (Open Database Connectivity) é uma tecnologia padrão de programação para o acesso a banco de dados por meio de uma biblioteca de funções pré-definida, criada pelo SQL Access Group. Ela permite que aplicações acessem dados em SGBDs usando a linguagem SQL como padrão. Além disso, oferece máxima interoperabilidade, o que significa que com ela uma única aplicação pode acessar SGBDs distintos, sendo também independente de linguagem de programação.
Nota 2. DBI-Link
DBI-Link é uma implementação parcial de SQL/MED (Gerenciamento de Dados Externos - Management of External Data) proveniente da especificação SQL:2003. Com o DBI-Link, é possível adicionar velocidade e precisão aos processos de ETL (Extract-Transform-Load), tratando qualquer fonte de dados alcançável pela DBI do Perl como uma tabela no PostgreSQL.
Motivação
Imagine a seguinte situação: numa empresa existem diversas bases de dados corporativas, e em sistemas gerenciadores de bancos de dados distintos. Nela foi implementada uma solução de data warehousing baseada num grande SGBD (Oracle, SQL Server ou DB2). Paralelamente, no mesmo cenário, atua um banco de dados transacional PostgreSQL. Algumas informações contidas nesse banco de dados OLTP (ver Nota 3) precisam ser replicadas para o ambiente OLAP (ver Nota 4).
Achou um pouco utópico o cenário descrito acima? Então vejamos outro mais simples. Na empresa foram adquiridos separadamente diversos sistemas "fechados", que servem a áreas distintas. As informações destes sistemas estão hospedadas em SGBDs diferentes e independentes. Após algum tempo, surge a necessidade de um novo sistema, que será desenvolvido
Em grandes corporações, esta heterogeneidade nos ambientes de bancos de dados é muito mais comum do que imaginamos. E este será o nosso desafio: integrar informações de um banco de dados em PostgreSQL a outro SGBD qualquer.
"
Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Rodrigo Hjort
Administrador de banco de dados PostgreSQL do governo do estado do Paraná, na CELEPAR. Formado Bacharel em Física pela Universidade Federal do Paraná e Pós-Graduando em Banco de Dados, atua desde 1997 com SGBDs relacionais, tendo trabalhado com Oracle, SQL Server, Ingres, InterBase / Firebird, Postg...



