Click here to load reader
Upload
leonardo-cezar
View
193
Download
5
Embed Size (px)
Citation preview
Migração colaborativa para PostgreSQL
Leonardo Cezar
MotivaçãoMotivação
● Evolução no desenvolvimento de projetos de Evolução no desenvolvimento de projetos de pequena porte pequena porte
● Reutilização de rotinas e processosReutilização de rotinas e processos● Unir os esforços de migração e Unir os esforços de migração e
desenvolvimento dentro das empresasdesenvolvimento dentro das empresas● Compartilhar conhecimento e reduzir retrabalhoCompartilhar conhecimento e reduzir retrabalho
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
Processo de migraçãoProcesso 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çãoMigração: Identificação
● Informações sobre a infraestrutura● Cópia de segurança● Disponibilidade● Compatibilidade da aplicação
Migração: PlanejamentoMigraçã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áliseMigraçã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çãoMigraçã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: FerramentasMigração: Ferramentas● Processo
– Eclipse EPF
● Funcionalidades– ora2pg
– mssql2pg
Ferramentas de apoioFerramentas 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 Tipos de projetos
Solo● Poucos colaboradores● Derivação de outros projetos● Suporte imediato● Exemplos:
– apgdiff
– E-Maj
– pgloader
Tipos de projetosTipos de projetos
Monarquia● Evolução do modelo Solo● Decisões realizadas pelos líderes● Geralmente mais formais● Muitos colaboradores
● Exemplos– pgBouncer
– pgsnmp
Tipos de projetosTipos 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 projetosTipos de projetosCorporativo● 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 projetosTipos 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...Nem tudo são flores...● Cultura● Vícios● Ferramentas de modelagem● Ferramentas de administração● Capacitação da equipe
RepositóriosRepositórios
● http://www.pgfoundry.org● http://projects.postgresql.org● http://www.pgxn.org● http://www.github.com