Artigos
Tecnologia
Banco de Dados - A Hora e a Vez do PostgreSQL
![]()
Cada vez mais as empresas olham com maior interesse para as soluções baseadas em Open Source. Isto se dá por várias razões, um recente relatório escrito pelo Deutsche Bank Research (o núcleo de inteligência do Deustch Bank) lista algumas destas razões:
-
O Linux atingiu um nível de qualidade igual ou superior aos produtos fornecidos pela Microsoft, Sun e por outros fornecedores.
-
Além do Linux, existem muitos outros produtos Open Source que estão sendo intensamente utilizados em ambientes corporativos.
-
Com a necessidade de racionalização de custos nas empresas, o interesse pelo Open Source está crescendo rapidamente. Este crescimento acontece devido à comprovada contribuição do Open Source na redução de custos e no aumento na segurança e na estabilidade dos sistemas.
-
O uso de produtos Open Source pode significar um alto potencial de otimização dentro das organizações financeiras (como, no caso, o Deustch Bank).
-
A competência em Open Source pode se tornar um importante fator para a avaliação de empresas e para a tomada de decisões de investimento.
O PostgreSQL
O banco de dados PostgreSQL nasceu na Universidade de Berkeley, nos anos 80, como um projeto acadêmico e se encontra na versão 7.3 (atualmente na versão 7.4, veja este artigo sobre as novas funcionalides desta versão), sendo um projeto mantido pela comunidade Open Source. A coordenação do desenvolvimento do PostgreSQL é executada pelo Global Development Group, este é formado por um amplo grupo de desenvolvedores ao redor do mundo, o que faz o PostgreSQL ter uma constante evolução no que se refere à correção de bugs e implementação de novas funcionalidades.
Com o departamento de TI das empresas cada vez mais olhando para o retorno sobre os investimentos feitos, cada vez mais empresas escolhem este banco de dados como a melhor alternativa para servidor de banco de dados corporativo. A lógica desta escolha é bastante simples: por que pagar algumas dezenas de milhares de reais (ou mais) por um banco de dados proprietário se existe uma alternativa livre altamente eficiente e sem custo de licença? É claro que existem situações em que uma funcionalidade que existe somente, digamos, no Oracle onde a escolha é justificada. Felizmente, para as empresas, estas situações são não comuns no dia-a-dia dos sistemas de informação e correspondem a uma ínfima parte das necessidades de servidores de banco de dados.
Com todos estes atrativos, a utilização da dupla PostgreSQL + Linux nas empresas vem crescendo rapidamente. Também é possível utilizar o PostgreSQL no ambiente MS Windows, mas como ele não foi portado nativamente para este sistema operacional, seu desempenho no Linux é sensivelmente maior e mais estável do que no Windows. As próximas versões do PostgreSQL prometem um porte nativo para o sistema MS Windows, para os que desejam continuar nesta plataforma.
Um pergunta comum dos gerentes de TI é: por onde começar com o PostgreSQL? Tecnicamente, é possível utilizá-lo em qualquer projeto que necessite de um banco de dados. Entretanto, para empresas que ainda não possuem uma cultura Linux ou PostgreSQL, é recomendado começar por sistemas periféricos e partir gradativamente para os sistemas críticos. Desta maneira, a equipe interna poderá assimilar a nova cultura tecnológica. Outro ponto importante para garantir o sucesso do projeto é contar com apoio externo qualificado, o que facilita os passos iniciais de implantação e também transfere conhecimento específico para a equipe interna.
De uma maneira geral, a utilização do PostgreSQL pode substituir os banco de dados comerciais middle range, como o MS SQL Server e Borland Interbase, com vantagens. Bancos de dados high end, como Oracle e o DB2, podem ser substituídos na grande maioria das situações.
A substituição de banco de dados comerciais pelo PostgreSQL pode trazer muitos benefícios para a empresa. O primeiro deles, sem dúvida, é uma economia tangível de dezenas de milhares de reais em licenças de software. Outros pontos importantes é a baixa necessidade de recursos de hardware do PostgreSQL e a simplificação do processo de gerenciamento de licenças de software, o que não é necessário para um software livre. Além disto, a substituição também causa benefícios como o aumento da estabilidade e da performance do sistema.
Uma das características mais destacadas do PostgreSQL é a sua capacidade de lidar com um grande volume de dados. Existem aplicações em produção com tabelas possuindo mais de 100 milhões de linhas. Nos testes de carga realizados pela Dextra Sistemas, foram feitas simulações com tabelas com 200 milhões de linhas e os resultados obtidos foram excelentes. No Brasil, existem casos de sucesso interessantes de algumas empresas de telecom lidando com base de dados com dezenas de milhões de registros gerenciadas pelo PostgreSQL em servidores Linux e arquitetura padrão Intel.
Recursos Avançados
O conjunto de funcionalidades implementado pelo PostgreSQL impressiona tanto pela amplitude como pela complexidade. Normalmente um novo usuário se vê perguntando como todos estes recursos podem existir num produto que é gratuito e livre. Mas este produto existe, bem-vindos ao mundo do software livre!
As funcionalidades técnicas oferecidas pelo PostgreSQL são bastantes extensas e citamos aqui somente as principais:
-
Banco de dados objeto-relacional
-
Suporte a transações (padrão ACID)
-
Lock por registro (row level locking)
-
Integridade referencial
-
Número ilimitado de linhas e índices em tabelas
-
Extensão para GIS (base de dados geo-referenciados)
-
Acesso via drivers ODBC e JDBC
-
Interface gráfica de gerenciamento
-
Uso otimizado de recursos do sistema operacional
-
Suporte aos padrões ANSI SQL 92 e 99
-
Joins: Implementa todos os tipos de join definidos pelo padrão SQL99: inner join, left, right, full outer join, natural join.
-
Triggers, views e stored procedures
-
Suporte ao armazenamento de BLOBs (binary large objects)
-
Sub-queries e queries definidas na cláusula FROM
-
Backup online
-
Sofisticado mecanismo de tuning
-
Suporte a conexões de banco de dados seguras (criptografia)
-
Modelo de segurança para o acesso aos objetos de banco de dados por usuários e grupos de usuários
Várias outras funcionalidades, principalmente no que diz respeito a banco de dados distribuídos e backup/recovery, estão planejadas para a versão 7.4 do PostgreSQL. Esta versão deve ser lançada ainda em 2003.
Limitações
do PostgreSQL
O PostgreSQL é um sistema gerenciador de bancos de dados
livre adequado para sistemas de informação OLTP
de todos os portes, entretanto, para aplicações
OLAP, como Data Warehouses e Data Mining, o PostgreSQL não
é a melhor alternativa. O motivo disto é que o
PostgreSQL ainda não implementa
otimizações como star queries, views
materializadas e índices bitmap.
Este produto apresenta também as limitações técnicas abaixo:
| Tamanho máximo de um banco | Ilimitado |
| Tamanho máximo de uma tabela | 64TB |
| Tamanho máximo de um registro | Ilimitado para a versão 7.1 e posteriores |
| Tamanho máximo de um campo | 1GB para a versão 7.1 e posteriores |
| Máximo de linhas numa tabela | Ilimitado |
| Máximo de colunas numa tabela | 1600 |
| Máximo de índices numa tabela | Ilimitado |
Naturalmente, estes valores não são
ilimitados, pois dependem de recursos do sistema operacional, como
espaço em disco, memória, swap, entre outros.
Conclusão
A utilização do banco de dados PostgreSQL é cada vez mais ampla nas empresas que buscam um servidor de banco de dados altamente sofisticado, com alta performance, estável e capacitado para lidar com grandes volumes de dados.
O fato de ser um produto Open Source, sem custos de licença, torna o PostgreSQL uma alternativa extremamente atraente para empresas que buscam um custo total de propriedade (TCO) menor para os ativos de TI.
Finalmente, este banco de dados já deixou de ser uma curiosidade de técnicos e esta no datacenter de grandes empresas do Brasil e do mundo.
A Dextra e o
PostgreSQL
A Dextra Sistemas trabalha com o banco de dados PostgreSQL desde 1999,
tendo implantado aplicações com bases de dados de
grande volume em vários clientes. Isto dá
à Dextra uma vasta experiência no projeto,
migração, implantação,
tuning e suporte aos servidores de banco de dados PostgreSQL.
A Dextra Sistemas oferece também uma linha completa de treinamentos neste banco de dados, com cursos de introdução, programação procedural, administração eintegração com a linguagem PHP (saiba mais).
Entre em contato com a Dextra para saber mais.
Links úteis

