SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
A
“Metamorfose
 Ambulante”
 do Postgres



      por Fábio Telles Rodriguez
           03 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)

                                         por Fábio Telles Rodriguez
                                              03 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...




                                        por Fábio Telles Rodriguez
                                             03 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;




                                        por Fábio Telles Rodriguez
                                             03 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;




                                          por Fábio Telles Rodriguez
                                               03 de outubro de 2012
A segunda mutação...




                   por Fábio Telles Rodriguez
                        03 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


                                            por Fábio Telles Rodriguez
                                                 03 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




                                     por Fábio Telles Rodriguez
                                          03 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




                                          por Fábio Telles Rodriguez
                                               03 de outubro de 2012
Extensões




 por Fábio Telles Rodriguez
      03 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;
                                            por Fábio Telles Rodriguez
                                                 03 de outubro de 2012
Dá até para usar GPU c/ FDW
PGStrom: 10x a 20x mais rápido
      http://wiki.postgresql.org/wiki/PGStrom




                                                por Fábio Telles Rodriguez
                                                     03 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
                                   por Fábio Telles Rodriguez
                                        03 de outubro de 2012
Sociedade Alternativa




             por Fábio Telles Rodriguez
                  03 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


                                    por Fábio Telles Rodriguez
                                         03 de outubro de 2012
Ser maluco não é ser burro




                  por Fábio Telles Rodriguez
                       03 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




                                                por Fábio Telles Rodriguez
                                                     03 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:

       telles@timbira.com.br




                por Fábio Telles Rodriguez
                     03 de outubro de 2012

Mais conteúdo relacionado

Semelhante a Postgres, a "Metamorfose Ambulante"

Bancos de dados open source
Bancos de dados open sourceBancos de dados open source
Bancos de dados open sourceRodrigo Aurélio
 
Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15Christiano Anderson
 
Big data da teoria à prática
Big data  da teoria à práticaBig data  da teoria à prática
Big data da teoria à práticaMario Guedes
 
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesChristiano Anderson
 
Programação Orientada a Aspectos
Programação Orientada a AspectosProgramação Orientada a Aspectos
Programação Orientada a AspectosRicardo Terra
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011Evaldo Junior
 
Da introdução à prática com Drools Expert e Drools Flow
Da introdução à prática com Drools Expert e Drools FlowDa introdução à prática com Drools Expert e Drools Flow
Da introdução à prática com Drools Expert e Drools FlowRicardo Longa
 
Frameworks Web e Python
Frameworks Web e PythonFrameworks Web e Python
Frameworks Web e PythonÁlvaro Justen
 
Apresentacao redis
Apresentacao redisApresentacao redis
Apresentacao redisdmazui
 
PostgreSQL: O melhor banco de dados Universo
PostgreSQL: O melhor banco de dados UniversoPostgreSQL: O melhor banco de dados Universo
PostgreSQL: O melhor banco de dados Universoelliando dias
 
pgModeler: muito mais que um modelador de bancos de dados PostgreSQL
pgModeler: muito mais que um modelador de bancos de dados PostgreSQLpgModeler: muito mais que um modelador de bancos de dados PostgreSQL
pgModeler: muito mais que um modelador de bancos de dados PostgreSQLRaphael Silva
 
Fazendo barba, cabelo e bigode com REDIS
Fazendo barba, cabelo e bigode com REDISFazendo barba, cabelo e bigode com REDIS
Fazendo barba, cabelo e bigode com REDISMario Guedes
 
Fazendo barba, cabelo e bigode com REDIS
Fazendo barba, cabelo e bigode com REDISFazendo barba, cabelo e bigode com REDIS
Fazendo barba, cabelo e bigode com REDISArrayOf.io
 
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São Paulo
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São PauloNoSQL para Desenvolvedores .NET - SQLSaturday #804 - São Paulo
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São PauloRenato Groff
 
Solisc2009 Migrando de Oracle para Postgresql
Solisc2009 Migrando de Oracle para PostgresqlSolisc2009 Migrando de Oracle para Postgresql
Solisc2009 Migrando de Oracle para PostgresqlLeonardo Medeiros Martins
 

Semelhante a Postgres, a "Metamorfose Ambulante" (20)

Bancos de dados open source
Bancos de dados open sourceBancos de dados open source
Bancos de dados open source
 
Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15
 
Big data da teoria à prática
Big data  da teoria à práticaBig data  da teoria à prática
Big data da teoria à prática
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentes
 
Programação Orientada a Aspectos
Programação Orientada a AspectosProgramação Orientada a Aspectos
Programação Orientada a Aspectos
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011
 
Da introdução à prática com Drools Expert e Drools Flow
Da introdução à prática com Drools Expert e Drools FlowDa introdução à prática com Drools Expert e Drools Flow
Da introdução à prática com Drools Expert e Drools Flow
 
Frameworks Web e Python
Frameworks Web e PythonFrameworks Web e Python
Frameworks Web e Python
 
Apresentacao redis
Apresentacao redisApresentacao redis
Apresentacao redis
 
Migracao colaborativa
Migracao colaborativaMigracao colaborativa
Migracao colaborativa
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
PostgreSQL: O melhor banco de dados Universo
PostgreSQL: O melhor banco de dados UniversoPostgreSQL: O melhor banco de dados Universo
PostgreSQL: O melhor banco de dados Universo
 
pgModeler: muito mais que um modelador de bancos de dados PostgreSQL
pgModeler: muito mais que um modelador de bancos de dados PostgreSQLpgModeler: muito mais que um modelador de bancos de dados PostgreSQL
pgModeler: muito mais que um modelador de bancos de dados PostgreSQL
 
NoSql e NewSql
NoSql e NewSqlNoSql e NewSql
NoSql e NewSql
 
Fazendo barba, cabelo e bigode com REDIS
Fazendo barba, cabelo e bigode com REDISFazendo barba, cabelo e bigode com REDIS
Fazendo barba, cabelo e bigode com REDIS
 
Fazendo barba, cabelo e bigode com REDIS
Fazendo barba, cabelo e bigode com REDISFazendo barba, cabelo e bigode com REDIS
Fazendo barba, cabelo e bigode com REDIS
 
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São Paulo
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São PauloNoSQL para Desenvolvedores .NET - SQLSaturday #804 - São Paulo
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São Paulo
 
Solisc2009 Migrando de Oracle para Postgresql
Solisc2009 Migrando de Oracle para PostgresqlSolisc2009 Migrando de Oracle para Postgresql
Solisc2009 Migrando de Oracle para Postgresql
 
Por que PostgreSQL?
Por que PostgreSQL?Por que PostgreSQL?
Por que PostgreSQL?
 

Mais de Fabio Telles Rodriguez

Data Hero: Sua carreira na área de dados
Data Hero: Sua carreira na área de dadosData Hero: Sua carreira na área de dados
Data Hero: Sua carreira na área de dadosFabio Telles Rodriguez
 
Aplicações 10x a 100x mais rápida com o postgre sql
Aplicações 10x a 100x mais rápida com o postgre sqlAplicações 10x a 100x mais rápida com o postgre sql
Aplicações 10x a 100x mais rápida com o postgre sqlFabio Telles Rodriguez
 
Migre seu banco de dados para a nuvem. Pergunte-me como!
Migre seu banco de dados para a nuvem. Pergunte-me como!Migre seu banco de dados para a nuvem. Pergunte-me como!
Migre seu banco de dados para a nuvem. Pergunte-me como!Fabio Telles Rodriguez
 
Postgres Wonderland - Campus Party 2013
Postgres Wonderland - Campus Party 2013Postgres Wonderland - Campus Party 2013
Postgres Wonderland - Campus Party 2013Fabio Telles Rodriguez
 
Fazendo uma manada de elefantes passar por baixo da porta
Fazendo uma manada de elefantes passar por baixo da portaFazendo uma manada de elefantes passar por baixo da porta
Fazendo uma manada de elefantes passar por baixo da portaFabio Telles Rodriguez
 

Mais de Fabio Telles Rodriguez (20)

Data Hero: Sua carreira na área de dados
Data Hero: Sua carreira na área de dadosData Hero: Sua carreira na área de dados
Data Hero: Sua carreira na área de dados
 
Postgres level up
Postgres level upPostgres level up
Postgres level up
 
Explain this!
Explain this!Explain this!
Explain this!
 
High concurrency with Postgres
High concurrency with PostgresHigh concurrency with Postgres
High concurrency with Postgres
 
Aplicações 10x a 100x mais rápida com o postgre sql
Aplicações 10x a 100x mais rápida com o postgre sqlAplicações 10x a 100x mais rápida com o postgre sql
Aplicações 10x a 100x mais rápida com o postgre sql
 
Novidades do PostgreSQL 10
Novidades do  PostgreSQL 10Novidades do  PostgreSQL 10
Novidades do PostgreSQL 10
 
Migre seu banco de dados para a nuvem. Pergunte-me como!
Migre seu banco de dados para a nuvem. Pergunte-me como!Migre seu banco de dados para a nuvem. Pergunte-me como!
Migre seu banco de dados para a nuvem. Pergunte-me como!
 
Trabalhando com Logs no PostgreSQL
Trabalhando com Logs no PostgreSQLTrabalhando com Logs no PostgreSQL
Trabalhando com Logs no PostgreSQL
 
PostgreSQL Rock Star
PostgreSQL Rock StarPostgreSQL Rock Star
PostgreSQL Rock Star
 
Oracle x PostgreSQL
Oracle x PostgreSQLOracle x PostgreSQL
Oracle x PostgreSQL
 
Trabalhando com Logs no PostgreSQL
Trabalhando com Logs no PostgreSQLTrabalhando com Logs no PostgreSQL
Trabalhando com Logs no PostgreSQL
 
Postgres Big data
Postgres Big dataPostgres Big data
Postgres Big data
 
Postgres Chainsaw Massacre
Postgres Chainsaw MassacrePostgres Chainsaw Massacre
Postgres Chainsaw Massacre
 
Postgres Tuning
Postgres TuningPostgres Tuning
Postgres Tuning
 
Postgres Wonderland - Campus Party 2013
Postgres Wonderland - Campus Party 2013Postgres Wonderland - Campus Party 2013
Postgres Wonderland - Campus Party 2013
 
Alta Concorrência com Postgres
Alta Concorrência com PostgresAlta Concorrência com Postgres
Alta Concorrência com Postgres
 
Alta Concorrência com Postgres
Alta Concorrência com PostgresAlta Concorrência com Postgres
Alta Concorrência com Postgres
 
Fazendo uma manada de elefantes passar por baixo da porta
Fazendo uma manada de elefantes passar por baixo da portaFazendo uma manada de elefantes passar por baixo da porta
Fazendo uma manada de elefantes passar por baixo da porta
 
Discos & Cia em PostgreSQL
Discos & Cia em PostgreSQLDiscos & Cia em PostgreSQL
Discos & Cia em PostgreSQL
 
Conceitos E Aplicações
Conceitos E AplicaçõesConceitos E Aplicações
Conceitos E Aplicações
 

Postgres, a "Metamorfose Ambulante"

  • 1. A “Metamorfose Ambulante” do Postgres por Fábio Telles Rodriguez 03 de outubro de 2012
  • 2. 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) por Fábio Telles Rodriguez 03 de outubro de 2012
  • 3. 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... por Fábio Telles Rodriguez 03 de outubro de 2012
  • 4. 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; por Fábio Telles Rodriguez 03 de outubro de 2012
  • 5. 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; por Fábio Telles Rodriguez 03 de outubro de 2012
  • 6. A segunda mutação... por Fábio Telles Rodriguez 03 de outubro de 2012
  • 7. 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 por Fábio Telles Rodriguez 03 de outubro de 2012
  • 8. 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 por Fábio Telles Rodriguez 03 de outubro de 2012
  • 9. 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 por Fábio Telles Rodriguez 03 de outubro de 2012
  • 10. Extensões por Fábio Telles Rodriguez 03 de outubro de 2012
  • 11. 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; por Fábio Telles Rodriguez 03 de outubro de 2012
  • 12. Dá até para usar GPU c/ FDW PGStrom: 10x a 20x mais rápido http://wiki.postgresql.org/wiki/PGStrom por Fábio Telles Rodriguez 03 de outubro de 2012
  • 13. 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 por Fábio Telles Rodriguez 03 de outubro de 2012
  • 14. Sociedade Alternativa por Fábio Telles Rodriguez 03 de outubro de 2012
  • 15. 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 por Fábio Telles Rodriguez 03 de outubro de 2012
  • 16. Ser maluco não é ser burro por Fábio Telles Rodriguez 03 de outubro de 2012
  • 17. 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 por Fábio Telles Rodriguez 03 de outubro de 2012
  • 18. 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: telles@timbira.com.br por Fábio Telles Rodriguez 03 de outubro de 2012