postgres, a "metamorfose ambulante"

18
por Fábio Telles Rodriguez 03 de outubro de 2012 A “Metamorfose Ambulante” do Postgres

Upload: fabio-telles-rodriguez

Post on 04-Jul-2015

568 views

Category:

Technology


0 download

DESCRIPTION

Palestra realizada em 03/10/2012 no PGDay Campinas. De "Sistema Gerenciador de Banco de Dados Relacional" até "Plataforma de Persistência Aberta", ou algo parecido. Acompanhe como as coisas evoluíram de 1970 para cá e fizeram do Postgres uma das mais flexíveis e confiáveis plataformas para persistência de dados, passando pelos bancos "Orientados a Objeto" e pelo NoSQL.

TRANSCRIPT

Page 1: Postgres, a "Metamorfose Ambulante"

por Fábio Telles Rodriguez03 de outubro de 2012

A “Metamorfose Ambulante” do Postgres

Page 2: Postgres, a "Metamorfose Ambulante"

por Fábio Telles Rodriguez03 de outubro de 2012

Como tudo começou...

● 1970 – IBM - Teoria Relacional por E. F. Codd● 1973 – IBM – Começa o desenvolvimento do System R (System Relational)

● Primeira implementação da teoria relacional;● Desenvolvimento do SQL;● Publicação de documentos descrevendo o

System R;●1974 – Berkeley – Desenvolvimento do Ingres (INteractive Graphics REtrieval System)

Page 3: Postgres, a "Metamorfose Ambulante"

por Fábio Telles Rodriguez03 de outubro de 2012

A primeira mutação

● 1982: Michael Stonebraker sai de Berkeley para comercializar o Ingres;● 1985: Stonebraker volta para Berkeley para iniciar o Postgres (Post Ingres)

● Tipos de dados e domínios definidos pelo usuário;

● Arrays;● Tabelas hierárquicas;● Substituiu o QUEL pelo PostQUEL...

Page 4: Postgres, a "Metamorfose Ambulante"

por Fábio Telles Rodriguez03 de outubro de 2012

A primeira mutação

● 1989 – Primeira versão do Postgres;● 1994 - Postgres 4.2 – Última versão lançada em

Berkeley;● 1995 - Postgres95 – Versão lançada por alunos recém-graduados de Berkeley;

● Substituição do PostQUEL pelo SQL;● Subconsultas;

Page 5: Postgres, a "Metamorfose Ambulante"

por Fábio Telles Rodriguez03 de outubro de 2012

A segunda mutação...● 1996 – PostgreSQL 6.0 - Primeira versão lançada

como Software Livre, fora de Berkeley;● Primeiro servidor do projeto em Hub.org;

Page 6: Postgres, a "Metamorfose Ambulante"

por Fábio Telles Rodriguez03 de outubro de 2012

A segunda mutação...

Page 7: Postgres, a "Metamorfose Ambulante"

por Fábio Telles Rodriguez03 de outubro de 2012

● De 1997 a 2007 – PostgreSQL 6.0, 6.1, 6.2, 6.3, 6.4, 6.5, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2● PL/CTL, PL/Python, PL/Perl, PL/pgSQL;● Compatibilidade com SQL;● Porte nativo para Windows;● Gborg, pgFoundry;● 1º PGCon (Congresso anual);● fsync, synchronous_commit,

full_page_writes

Page 8: Postgres, a "Metamorfose Ambulante"

por Fábio Telles Rodriguez03 de outubro de 2012

A Metamorfose Ambulante

● 2008 – PostgreSQL 8.3● Salto de performance;● Fim dos CASTs implícitos;● UUID, XML, ENUM, Arrays de tipos

compostos;● Full Text Search;

● 2009 – PostgreSQL 8.4● Window Functions, CTE

Page 9: Postgres, a "Metamorfose Ambulante"

por Fábio Telles Rodriguez03 de outubro de 2012

A Metamorfose Ambulante● 2010 – PostgreSQL 9.0

● Streaming Replication;● Melhorias no Listen/Notify e no Hstore;

● 2011 – PostgreSQL 9.1● Extensions (PGXN);● Foreign Tables;● Unlogged Tables;

● 2012 – PostgreSQL 9.2● Range types, JSON, PLV8;● Postgres-XC 1.0 é lançado

Page 10: Postgres, a "Metamorfose Ambulante"

por Fábio Telles Rodriguez03 de outubro de 2012

Extensões

Page 11: Postgres, a "Metamorfose Ambulante"

por Fábio Telles Rodriguez03 de outubro de 2012

Foreign Data Wrappers

● Infraestrutura para conexão com outras fontes de dados;

● Completamente transparente para a aplicação;

● Qualquer um pode construir seu próprio plugin em horas;

● Alguns já criados: oracle, mysql, odbc, couchdb, ldap, twitter, web services, Amazon S3, etc;

Page 12: Postgres, a "Metamorfose Ambulante"

por Fábio Telles Rodriguez03 de outubro de 2012

Dá até para usar GPU c/ FDWPGStrom: 10x a 20x mais rápido

http://wiki.postgresql.org/wiki/PGStrom

Page 13: Postgres, a "Metamorfose Ambulante"

por Fábio Telles Rodriguez03 de outubro de 2012

Comunidade Vibrante● Novas versões lançadas anualmente● 17 listas por e-mail + 42 listas regionais● Acesso direto e on-line aos desenvolvedores via IRC

● Dezenas de eventos exclusivos de postgres todos os anos. Em 2011 foram 6 só no Brasil

● Novos artigos nos planetas diariamente● Amigável para novos usuários e novos desenvolvedores

Page 14: Postgres, a "Metamorfose Ambulante"

por Fábio Telles Rodriguez03 de outubro de 2012

Sociedade Alternativa

Page 15: Postgres, a "Metamorfose Ambulante"

por Fábio Telles Rodriguez03 de outubro de 2012

SIM, Software Livre tem Suporte

● Você pode contar com o suporte da comunidade

● Você pode escolher ● Você pode trocar de empresa● Você pode encomendar novas funcionalidades no Postgres para você

● Você não precisa pagar um suporte para ter acesso à documentação e os últimos patches

Page 16: Postgres, a "Metamorfose Ambulante"

por Fábio Telles Rodriguez03 de outubro de 2012

Ser maluco não é ser burro

Page 17: Postgres, a "Metamorfose Ambulante"

por Fábio Telles Rodriguez03 de outubro de 2012

Em resumo● Bancos de Dados Objeto-Relacional nunca foram muito bem definidos, já a teoria relacional sim.

● Isto não nos impede de criar extensões não relacionais para resolver problemas complexos;

● NoSQL contém uma salada de definições, boa parte delas não são tecnologias novas;

● Você pode abrir mão do lado transacional para todo o cluster (fsync off) ou apenas para uma tabela (unlogged table);

● Você pode utilizar tipos não estruturados também;● Você Vpode usar um DataWraper para a sua base NoSQL

Page 18: Postgres, a "Metamorfose Ambulante"

por Fábio Telles Rodriguez03 de outubro de 2012

OBRIGADO

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

bem vindas!

Fábio Telles Rodriguez, Timbira: http://timbira.com.br

SAVEPOINT: http://tellesr.wordpress.com/

● e-mail: [email protected]