O documento resume as principais características e vantagens do banco de dados PostgreSQL, um sistema gerenciador de banco de dados objeto-relacional open source. Ele discute como o PostgreSQL oferece funcionalidades avançadas como consultas complexas, chaves estrangeiras, suporte a múltiplas linguagens de programação e alta disponibilidade, tudo de forma gratuita, o que o torna uma alternativa viável em comparação a soluções proprietárias como o Oracle. Finalmente, aborda tópicos como desempenho, escalabilidade e ferramentas
2. IT’S ME
• Joânio Trade Alves - baiano
• Formação:
Bacharel em Sistemas de informação – UEG
Alta disponibilidade e Performance Tunning – Dextra
Dba Oracle – 3Way
• Experiência profissional e carreira:
Tutor EAD pela UEG
Professor no CEPGOL
Professor na Universidade Estadual do Vale do Acaraú
Analista de Banco de dados Oobj
Sócio / Consultor Palas Consultoria
4 anos de experiência com banco de dados PostgreSQL
3. POSTGRESQL
O QUE É?
• SGBDOR – Sistema gerenciador de banco de dados Objeto-relacional
• Banco de dados Open source mais avançado do mundo
• Suporte:
• Consultas complexas
• Chave estrangeira
• ACID (Atomicidade, Consistência, Isolamento e Durabilidade)
• Gatilhos
• Views atualizáveis
• Views materializadas
• Suporte a diversas linguagens procedurais (pl/pgSQL, pl/python, pl/Perl, pl/java)
• Estrutura para dados de Georeferenciamento (PostGis)
4. QUEM ACREDITA NESSE PROJETO?
• Skype (skytools)
• iFood
• BASF – Uma das maiores empresas de produtos agrícolas do mundo
• RDS Amazon
• Enterprise DB
• Citus Data
• Dextra
• Timbira
5. POSTGRESQL X ORACLE
PostgreSQL Oracle
Gratuito Licença anual (por processador)
Stantard-2: 12 mil | Enterprise: 32 mil
Suporte em código não limitado Suporte em código totalmente dependente da
Oracle
Diversas ferramentas gratuitas e pagas com
menor custo
Toda feature da Oracle tem um custo
Instalação simples no Linux Instalação um pouco complexa (sugerido utilizar
oracle linux)
7. CARACTERÍSTICAS
• Instalação simples (apt-get install postgresql-9.5)
• Parâmetros padrão deixam o banco preparado para uma boa performance inicial
• Sub-consultas
• Suporte a varias linguagens de programação (pl/pgSQL, Perl, Java, C ...)
• Armazenamento em tablespace
• Potente Mecanismo de recuperação de falhas
• Indexação em cluster
• upsert
8. CARACTERÍSTICAS
• Indices GIN (melhor performance para campos texto)
• Suporte a JSON e JSONB
• Updates|insert View
• Materialized Views
• Escrita e leitura foreign tables (FDW)
• Replicação nativa (com rápido failover)
• Facilidade para monitorar e identificar transações em execução ou travadas
• pgadmin
• Comunidade madura e inovadora
9. EXEMPLO REAL
• 24 milhões de tuplas em cada uma das 2 principais tabelas
• Transações do mês em até 5 segundos
• Transações de períodos anteriores à 3 meses em até 15 segundos
• Inserções em milésimos de segundo
• Base total 440GB
• Servidor:
• Intel xeon
• 2 núcleos
• 8GB de RAM
• Disco SSD
10. DESVANTAGENS
• Grande parte das ferramentas são de terceiros
• Tunning exige conhecimento de diversos parâmetros e todos de configuração manual
(postgresql.conf)
• Não possui monitoramento próprio de recursos do servidor
• Comunidade é muito rígida e demora a adicionar novas funcionalidades
• Não trabalha bem no Windows
18. ESCALABILIDADE
VERTICAL
• Investimento em maquina mais potente;
• Melhor configuração de uso de memória para o PostgreSQL
• Adição de discos
• Adição de núcleos
Fonte: Dextra