Conceitos E Aplicações

14

Click here to load reader

description

Palestra realizada no PGDay RO em 29 e 30 de abril de 2009.

Transcript of Conceitos E Aplicações

Page 1: Conceitos E Aplicações

por Fábio Telles28 de Abril de 2009

PostgreSQLConceitos e Aplicações

Page 2: Conceitos E Aplicações

por Fábio Telles28 de Abril de 2009

Histórico

60s● CODASYL● IBM IMS70s● ADABAS● Teoria Relacional (Codd)

● IBM System R (DB2)● Berkeley Ingres● Oracle

Page 3: Conceitos E Aplicações

por Fábio Telles28 de Abril de 2009

Histórico

80s● System R   DB2→● Ingres   CA Ingres, Sybase, Informix, SQL →Server, Interbase, Postgres

● Teradata● SQL 86, 8990s● ISO SQL 92, 99● Access, MySQL

Page 4: Conceitos E Aplicações

por Fábio Telles28 de Abril de 2009

Postgres

1986­1994: Postgres● Michael Stonebraker, Berkeley● Evolução do Ingres com idéias Objeto­Relacional1995: Postgres 95● Andrew Yu and Jolly Chen● Inclusão do SQL1996 em diante: PostgreSQL● Desenvolvimento fora de Berkeley por uma comunidade

Page 5: Conceitos E Aplicações

por Fábio Telles28 de Abril de 2009

Pontos Fortes

● Suporte não é exclusivo do fornecedor;● Desenvolvimento ativo;● Bugs são realmente conhecidos;● Boa documentação;● Bom suporte da comunidade;● Conformidade total com ACID;● Conformidade com SQL;● Extensível ;● Multiplataforma;

Page 6: Conceitos E Aplicações

por Fábio Telles28 de Abril de 2009

Pontos Fracos?

● Não existe suporte corporativo oficial;● Não existe certificação;● Não existem boas ferramentas gráficas;● Não é estável;● Instável em Windows;● Baixa performance (lento);● Não tem uma campanha de marketing agressiva.

Page 7: Conceitos E Aplicações

por Fábio Telles28 de Abril de 2009

Sim, pontos fracos

● Não há soluções de replicação no core;● Particionamento ainda precário (melhor no 8.5)● Não há transações autônomas em PL;● Vacuum degrada performance em OLTP em grande 

escala (diminuindo, mas ainda significativo);● Não há uma boa ferramenta de monitoramento gráfico;● Não tem backup incremental;● Não é possível fazer HOT Backup físico por 

tablespace;● Não existem gatilhos de sistema.

Page 8: Conceitos E Aplicações

por Fábio Telles28 de Abril de 2009

em ambiente OLTP● MVCC;● Tablespaces;● Particionamento de tabelas (melhorias previstas 

para 8.5);● Common Tables Expressions e recursividade;● PL/Proxy (Cluster Shared Nothing)● Gatilhos;● PL/pgSQL, PL/Python, PL/Perl, PL/Tcl, ...● Sequências;● Suporte a Kerberos, LDAP, etc.

Page 9: Conceitos E Aplicações

por Fábio Telles28 de Abril de 2009

em ambiente BI● Índices parciais e com expressões (bitmap previsto para 8.5);

● Visões;● Copy com suporte a CSV;● Subconsultas;● Windowing Functions;● PGPool II;● Visões Materializadas (previsto para 8.5)

Page 10: Conceitos E Aplicações

por Fábio Telles28 de Abril de 2009

em ambiente WEB● Pool de conexões com PGPool ou PGBouncer;

● XML;● Suporte a localização e internacionalização;● Suporte nativo a SSL;● Full Text Search

Page 11: Conceitos E Aplicações

por Fábio Telles28 de Abril de 2009

Alta Disponibilidade● Point In Time Recovery;● Warm Stand By (Hot Stand By previsto para 8.5);

● Hot Backup;● Slony, PGPool, PGCluster, etc;

Page 12: Conceitos E Aplicações

por Fábio Telles28 de Abril de 2009

Segurança● pg_hba.conf;● Configurações padrões são seguras;● Dollar Quoting;● MD5, SHA1;● Várias opções para criar o usuário;● Uso de visões, gatilhos e funções para limitar acesso a dados;

● SE PostgreSQL;● Várias opções de logs;

Page 13: Conceitos E Aplicações

por Fábio Telles28 de Abril de 2009

Migração● Aderência ao padrão SQL;● Existência de funções com sintaxe compatíveis;

● DBI­Link;● Information Schema;● ora2pg, my2pg, dbf2pg, etc.

Page 14: Conceitos E Aplicações

por Fábio Telles28 de Abril de 2009

OBRIGADO

Dúvidas, sugestões, correções, indignações e cervejas são bem vindas!

Fábio Telles Rodriguez, 

SAVEPOINT: http://www.midstorm.org/~telles e­mail: [email protected]