Este documento discute a migração colaborativa para o PostgreSQL, incluindo os motivos para migrar, como o PostgreSQL oferece suporte da comunidade, escalabilidade e segurança. Ele também descreve o processo de migração, incluindo identificação, planejamento, análise e execução, além de ferramentas que podem ajudar no processo. Finalmente, discute os diferentes tipos de projetos de software livre e repositórios onde encontrar ferramentas para migração.
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
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
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