Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Migração colaborativa para PostgreSQL

Migração colaborativa para PostgreSQL

Leonardo Cezar

November 08, 2011
Tweet

More Decks by Leonardo Cezar

Other Decks in Programming

Transcript

  1. Motivação Motivação • Evolução no desenvolvimento de projetos de Evolução

    no desenvolvimento de projetos de pequena porte pequena porte • Reutilização de rotinas e processos Reutilização de rotinas e processos • Unir os esforços de migração e Unir os esforços de migração e desenvolvimento dentro das empresas desenvolvimento dentro das empresas • Compartilhar conhecimento e reduzir retrabalho Compartilhar conhecimento e reduzir retrabalho
  2. Por que PostgreSQL? 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
  3. Processo de migração 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)
  4. Migração: Identificação Migração: Identificação • Informações sobre a infraestrutura •

    Cópia de segurança • Disponibilidade • Compatibilidade da aplicação
  5. Migração: Planejamento 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
  6. Migração: Análise 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)
  7. Migração: Execução 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
  8. Ferramentas de apoio Ferramentas de apoio • Estrutura/Dados – mssqltopg

    – freetds – SQLFairy – dump2pg • Integração – DBI Link – dblink
  9. Tipos de projetos Tipos de projetos Solo • Poucos colaboradores

    • Derivação de outros projetos • Suporte imediato • Exemplos: – apgdiff – E-Maj – pgloader
  10. Tipos de projetos Tipos de projetos Monarquia • Evolução do

    modelo Solo • Decisões realizadas pelos líderes • Geralmente mais formais • Muitos colaboradores • Exemplos – pgBouncer – pgsnmp
  11. Tipos de projetos 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
  12. Tipos de projetos 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
  13. Tipos de projetos 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
  14. Nem tudo são flores... Nem tudo são flores... • Cultura

    • Vícios • Ferramentas de modelagem • Ferramentas de administração • Capacitação da equipe