Entrevista com Flavio Gurgel: Especialista discute sobre PostgreSQL
A 4Linux conversou sobre o PostgreSQL com Flavio Gurgel, entusiasta do software livre e especialista em banco de dados há quase 20 anos. Gurgel, atualmente, presta consultoria, suporte e treinamento aos clientes da 4Linux. Confira os detalhes desse bate-papo:
4Linux: A migração de um ambiente PostgreSQL para outros bancos, e de outros bancos para PostgreSQL, pode ser considerada uma tarefa de difícil execução?
Flavio Gurgel: Em alguns casos sim. Normalmente, quando o banco de dados não contém funções (stored procedures), a migração dos dados em si é relativamente tranquila, sendo que a aplicação precisará ter alguns ajustes nas consultas realizadas, por causa da diferença de sintaxe entre os bancos. Algumas camadas de abstração, como o Hibernate do mundo Java, podem facilitar essa migração pois é essa camada que conversa com o banco, portanto, ela pode já ter embutido o “dialeto” de diversos bancos de dados, isolando isso da aplicação e consequentemente do desenvolvedor.
Porém, existem casos em que a migração pode ser bastante trabalhosa, quando se usa programação dentro do banco de dados. Nestes casos, normalmente é necessário reescrever cada função com a linguagem adequada a cada gerenciador de banco de dados.
O produto Postgres Plus Advanced Server, da EnterpriseDB, que nós representamos no Brasil, possui compatibilidade de consultas e funções com o Oracle Database. Com este produto, podemos fazer migrações Oracle->PostgreSQL e vice-versa com taxa de até 80% de sucesso sem intervenção manual, nem no banco de dados e nem na aplicação. Imagine que uma aplicação Oracle, sem modificações, pode se conectar diretamente no Postgres Plus Advanced Server.
4Linux: Que fatores de mercado fazem com que a adoção do PostgreSQL esteja “na moda”?
Flavio Gurgel: O PostgreSQL já deixou, faz algum tempo, de “correr atrás” dos outros gerenciadores de bancos de dados. Hoje, podemos dizer que o PostgreSQL tem funcionalidades que outros gerenciadores de bancos de dados não têm.
Cito aqui quatro exemplos interessantes:
1- Window Functions, que permite a realização de consultas analíticas no PostgreSQL, de uma forma bastante eficiente para o desenvolvedor.
2- Múltiplas linguagens procedurais, é possível fazer funções no PostgreSQL em linguagens que um desenvolvedor já domina. Alguns exemplos são pl/python, pl/perl, pl/java, pl/tcl. Além é claro dos tradicionais pl/sql (similar ao Oracle) e pl/pgsql (esta última exclusiva do PostgreSQL).
3- PGXN, uma rede de extensões do PostgreSQL. Imagine que é possível extender o PostgreSQL com funcionalidades novas, mais ou menos como fazemos em um um browser como o Firefox, instalamos extensões de maneira bastante simples.
4- Foreign Data Wrapper, uma forma de fazer bases de dados federadas no PostgreSQL. Imagine que é possível conectar o PostgreSQL nativamente a outros bancos de dados, e acessar as tabelas desses bancos de dados como se fossem tabelas locais do PostgreSQL. Hoje, é possível se conectar a outros PostgreSQL, Oracle, bancos onde se esteja disponível driver ODBC, arquivos de texto e CSV, até mesmo conectar-se a uma conta do Twitter e fazer um SELECT nela.
4Linux: Quais as principais diferenças entre o PostgreSQL mantido pela comunidade e a sua versão Enterprise?
Flavio Gurgel: Basicamente, temos dois produtos da EnterpriseDB que se diferenciam do PostgreSQL da comunidade:
1- Postgres Plus Solution Pack – é um PostgreSQL similar em funcionalidades ao da comunidade, mas com binários certificados e garantidos pela EnterpriseDB.
2- Postgres Plus Advanced Server – que possui compatibilidade com bancos de dados Oracle, permitindo migração direta em até 80% dos casos.
Ambos os produtos contam com instalador, gerenciador de tuning, ferramentas de deploy, monitoração e replicação. O replicador xDB, que permite funcionamento multi-master do PostgreSQL, também está incluso no pacote. É um produto realmente atraente e do qual o mercado brasileiro está carente, com um custo que é apenas uma fração do que se gasta com os concorrentes.
4Linux: O que você diria a respeito da recente parceria firmada entre a 4Linux e a EnterpriseDB?
Flavio Gurgel: A 4Linux decidiu ser parceira da EnterpriseDB após analisar um ponto fundamental: a EnterpriseDB, como maior empresa global de soluções baseadas no PostgreSQL, emprega uma grande quantidade dos desenvolvedores que fazem o PostgreSQL da comunidade. Isto é muito importante para o mundo software livre, ao mesmo tempo em que dá credibilidade ao trabalho da EnterpriseDB em oferecer produtos e serviços legítimos, de quem conhece a fundo o que está fazendo.
About author
Você pode gostar também
Entenda as diferenças entre MySQL Community, MySQL Enterprise, Percona e MariaDB
Nesta publicação quero explicar algumas diferenças interessantes entre o MySQL Community, MySQL Enterprise, Percona e MariaDB. Normalmente sempre abordamos algumas coisas em nosso curso de MySQL, mas o tempo sempre
Dicas de Tuning para Maximizar o Desempenho do seu PostgreSQL
Você decidiu usar o PostgreSQL, um dos sistemas de gerenciamento de banco de dados mais poderosos e flexíveis disponíveis. No entanto, para aproveitar ao máximo esse recurso robusto, é essencial
Guia completo: Implantação de MongoDB resiliente no Google Kubernetes Engine
Este guia aborda a implantação de um MongoDB resiliente no GKE, incluindo etapas para configurar um StatefulSet, serviço headless e inicializar o conjunto réplica. Aprenda a utilizar recursos do GKE