SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
Migração colaborativa para
       PostgreSQL
        Leonardo Cezar
Motivação

●   Evolução no desenvolvimento de projetos de
    pequena porte
●   Reutilização de rotinas e processos
●   Unir os esforços de migração e
    desenvolvimento dentro das empresas
●   Compartilhar conhecimento e reduzir retrabalho
Por que PostgreSQL?
  suporte da comunidade extensível
 escalável Administração simples grandes
 volumes de dados segurança gratuito e
 livre licença adequada relacional MVCC
      LDAP over deployment custo
confiabilidade integridade estabilidade
 multiplataforma ACID Rules Integridade
    Referencial SSL Kerberos linguagens
 procedurais LDAP tipos   customizados
Processo de migração
●   Tipos de migração
       –   Migração de aplicação
       –   Migração de base de dados
       –   Migração de aplicação e base de dados
            (desenvolvimento)
Migração: Identificação

●   Informações sobre a infraestrutura
●   Cópia de segurança
●   Disponibilidade
●   Compatibilidade da aplicação
Migração: Planejamento

●   Documento de visão
       –   Informações sobre a aplicação
       –   Requisitos da aplicação
       –   Cenário de utilização de aplicação
●   Documento de escopo
●   Cronograma preliminar
Migração: Análise

●   Características da aplicação
●   Rastreabilidade de dependências
       –   Estudo preliminar (obter poucas informações)
       –   Análise completa (visões, SPs, JOBs, &c)
Migração: Execução
●   Migração de logins e usuários
●   Migração de DDL
●   Exportação de dados
●   Procedimentos armazenados
●   Views
●   Triggers
●   Jobs e Cargas
Migração: Ferramentas
●   Processo
       –   Eclipse EPF
●   Funcionalidades
       –   ora2pg
       –   mssql2pg
Ferramentas de apoio
●   Estrutura/Dados
       –   mssqltopg
       –   freetds
       –   SQLFairy
       –   dump2pg
●   Integração
       –   DBI Link
       –   dblink
5 Tipos de Projetos de software livre
         (por Josh Berkus)
Tipos de projetos

Solo
●   Poucos colaboradores
●   Derivação de outros projetos
●   Suporte imediato
●   Exemplos:
       –   apgdiff
       –   E-Maj
       –   pgloader
Tipos de projetos

Monarquia
●   Evolução do modelo Solo
●   Decisões realizadas pelos líderes
●   Geralmente mais formais
●   Muitos colaboradores
●   Exemplos
        –   pgBouncer
        –   pgsnmp
Tipos de projetos

Comunidade
●   Decisões baseadas na meritocracia e consenso
●   Suporte através de listas, fóruns, &c
●   Muitos contribuintes
●   Exemplos
        –   PostgreSQL
        –   Slony
        –   Pgpool
Tipos de projetos
Corporativo
●   Código liberado por empresa
●   Contribuição difícil
●   Maioria dos colaboradores são empregados
●   Normalmente bi-licenciado
●   Suporte através de parceiros
●   Exemplos
        –   skytools
        –   apgdiff
        –   edb-debugger
Tipos de projetos

Fundação
●   Último estágio da evolução de um projeto
●   Decisões formalizadas pelas necessidades
    estruturais
●   Suporte através de patrocinadores
●   Exemplo:
       –   Apache
       –   LibreOffice
Nem tudo são flores...
●   Cultura
●   Vícios
●   Ferramentas de modelagem
●   Ferramentas de administração
●   Capacitação da equipe
Repositórios

●   http://www.pgfoundry.org
●   http://projects.postgresql.org
●   http://www.pgxn.org
●   http://www.github.com
Dúvidas?
lhcezar@postgresql.org.br

Mais conteúdo relacionado

Semelhante a Migração PostgreSQL guia

Postgresql 50 Sabores - PgDay Ceará 2013
Postgresql 50 Sabores - PgDay Ceará 2013Postgresql 50 Sabores - PgDay Ceará 2013
Postgresql 50 Sabores - PgDay Ceará 2013Cláudio Leopoldino
 
Alfresco ECM e Gestão Eletrônica de Documentos Open Source
Alfresco ECM e Gestão Eletrônica de Documentos Open SourceAlfresco ECM e Gestão Eletrônica de Documentos Open Source
Alfresco ECM e Gestão Eletrônica de Documentos Open SourceAmbiente Livre
 
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDAOficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDAnitaibezerra
 
Situação da migração para PostgreSQL
Situação da migração para PostgreSQLSituação da migração para PostgreSQL
Situação da migração para PostgreSQLLeonardo Cezar
 
Zeluisbraga engsoftware-academico-inland-fev2010
Zeluisbraga engsoftware-academico-inland-fev2010Zeluisbraga engsoftware-academico-inland-fev2010
Zeluisbraga engsoftware-academico-inland-fev2010zeluisbraga
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011Evaldo Junior
 
Behavior-Driven Development (BDD) - Abril/2017
Behavior-Driven Development (BDD) - Abril/2017Behavior-Driven Development (BDD) - Abril/2017
Behavior-Driven Development (BDD) - Abril/2017Renato Groff
 
Gerenciando seu projeto com dotProject
Gerenciando seu projeto com dotProjectGerenciando seu projeto com dotProject
Gerenciando seu projeto com dotProjectSheldon Led
 
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho DuroTDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Durotdc-globalcode
 
Pipeconf no CoffeOps Campinas
Pipeconf no CoffeOps CampinasPipeconf no CoffeOps Campinas
Pipeconf no CoffeOps CampinasAécio Pires
 
Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...
Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...
Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...Renato Groff
 
PostgreSql - Um banco de dados Open Source que figura entre os grandes
PostgreSql - Um banco de dados Open Source que figura entre os grandesPostgreSql - Um banco de dados Open Source que figura entre os grandes
PostgreSql - Um banco de dados Open Source que figura entre os grandesjoanio trade
 
Aumentando a produtividade e Automatizando Processos com Jira
Aumentando a produtividade e Automatizando Processos com JiraAumentando a produtividade e Automatizando Processos com Jira
Aumentando a produtividade e Automatizando Processos com JiraLuís Cesar Teodoro
 
Visao geral TI04 2-0
Visao geral TI04 2-0Visao geral TI04 2-0
Visao geral TI04 2-0Ale Uehara
 
Desenvolvendo sua primeira aplicação Web com Rails 5
Desenvolvendo sua primeira aplicação Web com Rails 5Desenvolvendo sua primeira aplicação Web com Rails 5
Desenvolvendo sua primeira aplicação Web com Rails 5Lorena Caldas
 
Zend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutençãoZend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutençãoFlávio Lisboa
 
Desenvolvendo uma aplicacao Full Javascript
Desenvolvendo uma aplicacao Full JavascriptDesenvolvendo uma aplicacao Full Javascript
Desenvolvendo uma aplicacao Full JavascriptDenis Vieira
 

Semelhante a Migração PostgreSQL guia (20)

Postgresql 50 Sabores - PgDay Ceará 2013
Postgresql 50 Sabores - PgDay Ceará 2013Postgresql 50 Sabores - PgDay Ceará 2013
Postgresql 50 Sabores - PgDay Ceará 2013
 
Alfresco ECM e Gestão Eletrônica de Documentos Open Source
Alfresco ECM e Gestão Eletrônica de Documentos Open SourceAlfresco ECM e Gestão Eletrônica de Documentos Open Source
Alfresco ECM e Gestão Eletrônica de Documentos Open Source
 
Conhecendo o Django
Conhecendo o DjangoConhecendo o Django
Conhecendo o Django
 
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDAOficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
 
Situação da migração para PostgreSQL
Situação da migração para PostgreSQLSituação da migração para PostgreSQL
Situação da migração para PostgreSQL
 
Zeluisbraga engsoftware-academico-inland-fev2010
Zeluisbraga engsoftware-academico-inland-fev2010Zeluisbraga engsoftware-academico-inland-fev2010
Zeluisbraga engsoftware-academico-inland-fev2010
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011
 
Behavior-Driven Development (BDD) - Abril/2017
Behavior-Driven Development (BDD) - Abril/2017Behavior-Driven Development (BDD) - Abril/2017
Behavior-Driven Development (BDD) - Abril/2017
 
Gerenciando seu projeto com dotProject
Gerenciando seu projeto com dotProjectGerenciando seu projeto com dotProject
Gerenciando seu projeto com dotProject
 
Machine Learning Black Boxes
Machine Learning Black BoxesMachine Learning Black Boxes
Machine Learning Black Boxes
 
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho DuroTDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
 
Pipeconf no CoffeOps Campinas
Pipeconf no CoffeOps CampinasPipeconf no CoffeOps Campinas
Pipeconf no CoffeOps Campinas
 
Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...
Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...
Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...
 
PostgreSql - Um banco de dados Open Source que figura entre os grandes
PostgreSql - Um banco de dados Open Source que figura entre os grandesPostgreSql - Um banco de dados Open Source que figura entre os grandes
PostgreSql - Um banco de dados Open Source que figura entre os grandes
 
Aumentando a produtividade e Automatizando Processos com Jira
Aumentando a produtividade e Automatizando Processos com JiraAumentando a produtividade e Automatizando Processos com Jira
Aumentando a produtividade e Automatizando Processos com Jira
 
Visao geral TI04 2-0
Visao geral TI04 2-0Visao geral TI04 2-0
Visao geral TI04 2-0
 
Desenvolvendo sua primeira aplicação Web com Rails 5
Desenvolvendo sua primeira aplicação Web com Rails 5Desenvolvendo sua primeira aplicação Web com Rails 5
Desenvolvendo sua primeira aplicação Web com Rails 5
 
Zend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutençãoZend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutenção
 
Web Tools Pt Br
Web Tools Pt BrWeb Tools Pt Br
Web Tools Pt Br
 
Desenvolvendo uma aplicacao Full Javascript
Desenvolvendo uma aplicacao Full JavascriptDesenvolvendo uma aplicacao Full Javascript
Desenvolvendo uma aplicacao Full Javascript
 

Mais de Leonardo Cezar

Alta disponibilidade com PostgreSQL
Alta disponibilidade com PostgreSQLAlta disponibilidade com PostgreSQL
Alta disponibilidade com PostgreSQLLeonardo Cezar
 
Versionamento de modelo de dados com PostgreSQL
Versionamento de modelo de dados com PostgreSQLVersionamento de modelo de dados com PostgreSQL
Versionamento de modelo de dados com PostgreSQLLeonardo Cezar
 
Funções Administrativas no PostgreSQL
Funções Administrativas no PostgreSQLFunções Administrativas no PostgreSQL
Funções Administrativas no PostgreSQLLeonardo Cezar
 
Interoperabilidade dados abertos
Interoperabilidade dados abertosInteroperabilidade dados abertos
Interoperabilidade dados abertosLeonardo Cezar
 
PostgreSQL À la Debian
PostgreSQL À la DebianPostgreSQL À la Debian
PostgreSQL À la DebianLeonardo Cezar
 
PostgreSQL À la Debian
PostgreSQL À la DebianPostgreSQL À la Debian
PostgreSQL À la DebianLeonardo Cezar
 

Mais de Leonardo Cezar (7)

Alta disponibilidade com PostgreSQL
Alta disponibilidade com PostgreSQLAlta disponibilidade com PostgreSQL
Alta disponibilidade com PostgreSQL
 
Versionamento de modelo de dados com PostgreSQL
Versionamento de modelo de dados com PostgreSQLVersionamento de modelo de dados com PostgreSQL
Versionamento de modelo de dados com PostgreSQL
 
Funções Administrativas no PostgreSQL
Funções Administrativas no PostgreSQLFunções Administrativas no PostgreSQL
Funções Administrativas no PostgreSQL
 
Interoperabilidade dados abertos
Interoperabilidade dados abertosInteroperabilidade dados abertos
Interoperabilidade dados abertos
 
PostgreSQL À la Debian
PostgreSQL À la DebianPostgreSQL À la Debian
PostgreSQL À la Debian
 
PostgreSQL À la Debian
PostgreSQL À la DebianPostgreSQL À la Debian
PostgreSQL À la Debian
 
Sql proficiente
Sql proficienteSql proficiente
Sql proficiente
 

Migração PostgreSQL guia

  • 1. Migração colaborativa para PostgreSQL Leonardo Cezar
  • 2. Motivação ● Evolução no desenvolvimento de projetos de pequena porte ● Reutilização de rotinas e processos ● Unir os esforços de migração e desenvolvimento dentro das empresas ● Compartilhar conhecimento e reduzir retrabalho
  • 3. Por que PostgreSQL? suporte da comunidade extensível escalável Administração simples grandes volumes de dados segurança gratuito e livre licença adequada relacional MVCC LDAP over deployment custo confiabilidade integridade estabilidade multiplataforma ACID Rules Integridade Referencial SSL Kerberos linguagens procedurais LDAP tipos customizados
  • 4. Processo de migração ● Tipos de migração – Migração de aplicação – Migração de base de dados – Migração de aplicação e base de dados (desenvolvimento)
  • 5. Migração: Identificação ● Informações sobre a infraestrutura ● Cópia de segurança ● Disponibilidade ● Compatibilidade da aplicação
  • 6. Migração: Planejamento ● Documento de visão – Informações sobre a aplicação – Requisitos da aplicação – Cenário de utilização de aplicação ● Documento de escopo ● Cronograma preliminar
  • 7. Migração: Análise ● Características da aplicação ● Rastreabilidade de dependências – Estudo preliminar (obter poucas informações) – Análise completa (visões, SPs, JOBs, &c)
  • 8. Migração: Execução ● Migração de logins e usuários ● Migração de DDL ● Exportação de dados ● Procedimentos armazenados ● Views ● Triggers ● Jobs e Cargas
  • 9. Migração: Ferramentas ● Processo – Eclipse EPF ● Funcionalidades – ora2pg – mssql2pg
  • 10. Ferramentas de apoio ● Estrutura/Dados – mssqltopg – freetds – SQLFairy – dump2pg ● Integração – DBI Link – dblink
  • 11. 5 Tipos de Projetos de software livre (por Josh Berkus)
  • 12. Tipos de projetos Solo ● Poucos colaboradores ● Derivação de outros projetos ● Suporte imediato ● Exemplos: – apgdiff – E-Maj – pgloader
  • 13. Tipos de projetos Monarquia ● Evolução do modelo Solo ● Decisões realizadas pelos líderes ● Geralmente mais formais ● Muitos colaboradores ● Exemplos – pgBouncer – pgsnmp
  • 14. Tipos de projetos Comunidade ● Decisões baseadas na meritocracia e consenso ● Suporte através de listas, fóruns, &c ● Muitos contribuintes ● Exemplos – PostgreSQL – Slony – Pgpool
  • 15. Tipos de projetos Corporativo ● Código liberado por empresa ● Contribuição difícil ● Maioria dos colaboradores são empregados ● Normalmente bi-licenciado ● Suporte através de parceiros ● Exemplos – skytools – apgdiff – edb-debugger
  • 16. Tipos de projetos Fundação ● Último estágio da evolução de um projeto ● Decisões formalizadas pelas necessidades estruturais ● Suporte através de patrocinadores ● Exemplo: – Apache – LibreOffice
  • 17. Nem tudo são flores... ● Cultura ● Vícios ● Ferramentas de modelagem ● Ferramentas de administração ● Capacitação da equipe
  • 18. Repositórios ● http://www.pgfoundry.org ● http://projects.postgresql.org ● http://www.pgxn.org ● http://www.github.com