SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
Agile DBAPresented by Felipe Pereira
"Sou especialista em Bancos de Dados,
apaixonado por aprender, com mais de 10
anos de experiência na área e com
expertise em Oracle, PostgreSQL, SQL
Server e MySQL. Também tenho interesse
em Metodologias Ágeis, Analytics, DevOps
e Machine Learning."
ABOUT ME
O PROBLEMA
O que mudou nos últimos anos
PROJECT
MANAGEMENT
ARQUITETURA INFRA
Waterfall -> Ágil
Monolitos -> Micro-
Serviços
Infraestrutura como
Código
O PROBLEMA
O PROBLEMA
E os Bancos de Dados?
Dos sistemas para
realizar alterações de
estrutura no banco
de dados
DOWNTIME
Das alterações no
banco de dados.
EXECUÇÃO MANUAL
Execuções manuais
podem levar a
resultados diferentes
e não são escaláveis.
RESULTADO 
TRIVIA
1 . C O M O I N S T A L A R 6 0 0
I N S T Â N C I A S E M U M Ú N I C O D I A ?
2 . C O M O M A N T E R D I V E R S A S
V E R S Õ E S D E U M A P P U T I L I Z A N D O
U M M E S M O B A N C O D E D A D O S ?
3 . C O M O D E I X A R D E S E R O
G A R G A L O D O D E P L O Y S E M A B R I R
M Ã O D A E S T A B I L I D A D E ?
IAC
C H A P T E R 1
I N F R A S T R U C T U R E A S C O D E
AS FERRAMENTAS
Top 3
TIME MONEY SAFETY
takes longer
research
and planning
cheaper when
you travel with
a group
no one to rely
on in case
of difficulties 
A ARQUITETURA
Uma arquitetura simples
TIME MONEY SAFETY
takes longer
research
and planning
cheaper when
you travel with
a group
no one to rely
on in case
of difficulties 
REFACTORING
C H A P T E R 2
D A T A B A S E R E F A C T O R I N G
JANELA DE
MIGRAÇÃO
Qual é a sua?
A FRIO PLANEJADAS ALL-IN
Downtime e Prazo  Limitam a capacidade
de inovação
Se não der certo é
feito o rollback
WHY
P O R Q U E A D O T A R U M
M O D E L O E V O L U T I V O ?
"Minimizar o desperdício"
"Diminuir a unidade de trabalho"
"Realizar TDD"
"Você sempre possui um sistema
funcional"
"Você trabalha da mesma maneira que
os desenvolvedores"
SPLIT COLUMN
Tabela Original
Adicionados os campos
e a trigger de sincronização
Removido o campo original
RENAME TABLE
Tabela Original
Criada a tabela
com o novo nome
e a trigger
de sincronia
Removida
a tabela
original
RESUMO
Alterações pequenas são
preferíveis
Implemente grandes
mudanças quebrando-as em
várias pequenas
Prefira triggers para
sincronização de dados
Escolha um período suficiente
para dropar objetos antigos
Coloque as mudanças em um
controle de versão
DBCI
C H A P T E R 3
D A T A B A S E C O N T I N U O U S I N T E G R A T I O N
FERRAMENTAS
O PROCESSO
Database Continuous Integration
O PROCESSO
From Dev to Ops
DEVOPS
Algumas soluções propostas
Automação e
Escalabilidade
IAC
Implementações sem
Downtime
REFACTORING
Controle de Versão
DBCI 
IMPLICAÇÕES
Devops, Cloud e o Futuro
PAAS DEVOPS ESTRATÉGIA
Platform as a Service Automação e
Escalabilidade
Continuidade
IMPLICAÇÕES
"Like it or not, requirements change
as your project progresses.
Traditional approaches have denied
this fundamental reality and have
tried to "manage change", a
euphemism for preventing change."
-Scott Ambler/Pramod Sadalage (Refactoring Databases)
TESTIMONIAL
THANK
YOU!
Felipe Pereira
www.linkedin.com/in/felipepereiradba

Más contenido relacionado

Similar a Meu DBA não é ágil, e agora?

Introdução à Programação Extrema (Extreme Programming - XP)
Introdução à Programação Extrema (Extreme Programming - XP)Introdução à Programação Extrema (Extreme Programming - XP)
Introdução à Programação Extrema (Extreme Programming - XP)Claudia Melo
 
introxp-180413013250.pdf
introxp-180413013250.pdfintroxp-180413013250.pdf
introxp-180413013250.pdfPedroLuis216164
 
QConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
QConSP16 - Apache Cassandra Evoluindo Sistemas DistribuídosQConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
QConSP16 - Apache Cassandra Evoluindo Sistemas DistribuídosEiti Kimura
 
Postgres + Azure = Transformando dificuldades em oportunidades
Postgres + Azure = Transformando dificuldades em oportunidades Postgres + Azure = Transformando dificuldades em oportunidades
Postgres + Azure = Transformando dificuldades em oportunidades Marcelo Krüger
 
TDC2018FLN | Trilha Cloud - Postgres + Azure = Transformando dificuldades em ...
TDC2018FLN | Trilha Cloud - Postgres + Azure = Transformando dificuldades em ...TDC2018FLN | Trilha Cloud - Postgres + Azure = Transformando dificuldades em ...
TDC2018FLN | Trilha Cloud - Postgres + Azure = Transformando dificuldades em ...tdc-globalcode
 
Arquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócioArquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócioRalph Rassweiler
 
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...Taller Negócio Digitais
 
Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013André Borgonovo
 
Como migramos do scrum para o lean com células de Produtos - Agile Brazil 2016
Como migramos do scrum para o lean com células de Produtos - Agile Brazil 2016Como migramos do scrum para o lean com células de Produtos - Agile Brazil 2016
Como migramos do scrum para o lean com células de Produtos - Agile Brazil 2016Daniel Carrara
 
NoSQL: Uma análise crítica no TDC 2014
NoSQL: Uma análise crítica no TDC 2014NoSQL: Uma análise crítica no TDC 2014
NoSQL: Uma análise crítica no TDC 2014pichiliani
 
Vivenciando dev ops para além da automação de infraestrutura 2.0
Vivenciando dev ops para além da automação de infraestrutura 2.0Vivenciando dev ops para além da automação de infraestrutura 2.0
Vivenciando dev ops para além da automação de infraestrutura 2.0Diego Pacheco
 
Gestão ágil: gerar valor partir otimização de fluxo
Gestão ágil: gerar valor partir otimização de fluxoGestão ágil: gerar valor partir otimização de fluxo
Gestão ágil: gerar valor partir otimização de fluxoAnderson Silveira
 
Dev para Engenheiro de Dados (From Dev to Data Engineer)
Dev para Engenheiro de Dados (From Dev to Data Engineer)Dev para Engenheiro de Dados (From Dev to Data Engineer)
Dev para Engenheiro de Dados (From Dev to Data Engineer)Renan Moreira de Oliveira
 
Acerto talk - Descobrindo o poder do Cloud Computing
Acerto talk - Descobrindo o poder do Cloud ComputingAcerto talk - Descobrindo o poder do Cloud Computing
Acerto talk - Descobrindo o poder do Cloud ComputingAndré Paulovich
 
DNAD 2015 - Como a arquitetura emergente de sua aplicação pode jogar contra ...
DNAD 2015  - Como a arquitetura emergente de sua aplicação pode jogar contra ...DNAD 2015  - Como a arquitetura emergente de sua aplicação pode jogar contra ...
DNAD 2015 - Como a arquitetura emergente de sua aplicação pode jogar contra ...Gleicon Moraes
 
Como soluções de desenvolvimento ágil podem trazer flexibilidade e velocidade...
Como soluções de desenvolvimento ágil podem trazer flexibilidade e velocidade...Como soluções de desenvolvimento ágil podem trazer flexibilidade e velocidade...
Como soluções de desenvolvimento ágil podem trazer flexibilidade e velocidade...Embratel
 
Introdução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareIntrodução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareDaniel Cukier
 

Similar a Meu DBA não é ágil, e agora? (20)

Introdução à Programação Extrema (Extreme Programming - XP)
Introdução à Programação Extrema (Extreme Programming - XP)Introdução à Programação Extrema (Extreme Programming - XP)
Introdução à Programação Extrema (Extreme Programming - XP)
 
introxp-180413013250.pdf
introxp-180413013250.pdfintroxp-180413013250.pdf
introxp-180413013250.pdf
 
QConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
QConSP16 - Apache Cassandra Evoluindo Sistemas DistribuídosQConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
QConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
 
Postgres + Azure = Transformando dificuldades em oportunidades
Postgres + Azure = Transformando dificuldades em oportunidades Postgres + Azure = Transformando dificuldades em oportunidades
Postgres + Azure = Transformando dificuldades em oportunidades
 
TDC2018FLN | Trilha Cloud - Postgres + Azure = Transformando dificuldades em ...
TDC2018FLN | Trilha Cloud - Postgres + Azure = Transformando dificuldades em ...TDC2018FLN | Trilha Cloud - Postgres + Azure = Transformando dificuldades em ...
TDC2018FLN | Trilha Cloud - Postgres + Azure = Transformando dificuldades em ...
 
Arquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócioArquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócio
 
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
 
Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013
 
Como migramos do scrum para o lean com células de Produtos - Agile Brazil 2016
Como migramos do scrum para o lean com células de Produtos - Agile Brazil 2016Como migramos do scrum para o lean com células de Produtos - Agile Brazil 2016
Como migramos do scrum para o lean com células de Produtos - Agile Brazil 2016
 
Agenda CMG Brasil 2014
Agenda CMG Brasil 2014Agenda CMG Brasil 2014
Agenda CMG Brasil 2014
 
NoSQL: Uma análise crítica no TDC 2014
NoSQL: Uma análise crítica no TDC 2014NoSQL: Uma análise crítica no TDC 2014
NoSQL: Uma análise crítica no TDC 2014
 
Vivenciando dev ops para além da automação de infraestrutura 2.0
Vivenciando dev ops para além da automação de infraestrutura 2.0Vivenciando dev ops para além da automação de infraestrutura 2.0
Vivenciando dev ops para além da automação de infraestrutura 2.0
 
Gestão ágil: gerar valor partir otimização de fluxo
Gestão ágil: gerar valor partir otimização de fluxoGestão ágil: gerar valor partir otimização de fluxo
Gestão ágil: gerar valor partir otimização de fluxo
 
Clean Architecture
Clean ArchitectureClean Architecture
Clean Architecture
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Dev para Engenheiro de Dados (From Dev to Data Engineer)
Dev para Engenheiro de Dados (From Dev to Data Engineer)Dev para Engenheiro de Dados (From Dev to Data Engineer)
Dev para Engenheiro de Dados (From Dev to Data Engineer)
 
Acerto talk - Descobrindo o poder do Cloud Computing
Acerto talk - Descobrindo o poder do Cloud ComputingAcerto talk - Descobrindo o poder do Cloud Computing
Acerto talk - Descobrindo o poder do Cloud Computing
 
DNAD 2015 - Como a arquitetura emergente de sua aplicação pode jogar contra ...
DNAD 2015  - Como a arquitetura emergente de sua aplicação pode jogar contra ...DNAD 2015  - Como a arquitetura emergente de sua aplicação pode jogar contra ...
DNAD 2015 - Como a arquitetura emergente de sua aplicação pode jogar contra ...
 
Como soluções de desenvolvimento ágil podem trazer flexibilidade e velocidade...
Como soluções de desenvolvimento ágil podem trazer flexibilidade e velocidade...Como soluções de desenvolvimento ágil podem trazer flexibilidade e velocidade...
Como soluções de desenvolvimento ágil podem trazer flexibilidade e velocidade...
 
Introdução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareIntrodução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de Software
 

Más de DevCamp Campinas

Dylan Butler & Oliver Hager - Building a cross platform cryptocurrency app
Dylan Butler & Oliver Hager - Building a cross platform cryptocurrency appDylan Butler & Oliver Hager - Building a cross platform cryptocurrency app
Dylan Butler & Oliver Hager - Building a cross platform cryptocurrency appDevCamp Campinas
 
Thaissa Bueno - Implantando modelos Deep Learning em cluster Kubernetes com G...
Thaissa Bueno - Implantando modelos Deep Learning em cluster Kubernetes com G...Thaissa Bueno - Implantando modelos Deep Learning em cluster Kubernetes com G...
Thaissa Bueno - Implantando modelos Deep Learning em cluster Kubernetes com G...DevCamp Campinas
 
Gabriel Pacheco e Felipe Cardoso - Nextel + React Native: Lições aprendidas a...
Gabriel Pacheco e Felipe Cardoso - Nextel + React Native: Lições aprendidas a...Gabriel Pacheco e Felipe Cardoso - Nextel + React Native: Lições aprendidas a...
Gabriel Pacheco e Felipe Cardoso - Nextel + React Native: Lições aprendidas a...DevCamp Campinas
 
Everton Gago - Ciência de Dados: O melhor caminho para alinhar o produto com ...
Everton Gago - Ciência de Dados: O melhor caminho para alinhar o produto com ...Everton Gago - Ciência de Dados: O melhor caminho para alinhar o produto com ...
Everton Gago - Ciência de Dados: O melhor caminho para alinhar o produto com ...DevCamp Campinas
 
Eiti Kimura - Analisador de dados automatizado utilizando machine learning
Eiti Kimura - Analisador de dados automatizado utilizando machine learningEiti Kimura - Analisador de dados automatizado utilizando machine learning
Eiti Kimura - Analisador de dados automatizado utilizando machine learningDevCamp Campinas
 
Bárbara Silveira e Giovanna Victorino - Desenvolva também para TVs (AppleTV e...
Bárbara Silveira e Giovanna Victorino - Desenvolva também para TVs (AppleTV e...Bárbara Silveira e Giovanna Victorino - Desenvolva também para TVs (AppleTV e...
Bárbara Silveira e Giovanna Victorino - Desenvolva também para TVs (AppleTV e...DevCamp Campinas
 
Leonardo Zamariola - High Order Functions e Functional Interfaces
Leonardo Zamariola - High Order Functions e Functional InterfacesLeonardo Zamariola - High Order Functions e Functional Interfaces
Leonardo Zamariola - High Order Functions e Functional InterfacesDevCamp Campinas
 
Lara Rejane - Gestão ágil de pessoas
Lara Rejane - Gestão ágil de pessoasLara Rejane - Gestão ágil de pessoas
Lara Rejane - Gestão ágil de pessoasDevCamp Campinas
 
Eduardo Merighi - Escalabilidade tecnológica de uma fintech: como a Neon faz?
Eduardo Merighi - Escalabilidade tecnológica de uma fintech: como a Neon faz?Eduardo Merighi - Escalabilidade tecnológica de uma fintech: como a Neon faz?
Eduardo Merighi - Escalabilidade tecnológica de uma fintech: como a Neon faz?DevCamp Campinas
 
Erick Zanardo - Desenvolvimento de Jogos em Flutter
Erick Zanardo - Desenvolvimento de Jogos em FlutterErick Zanardo - Desenvolvimento de Jogos em Flutter
Erick Zanardo - Desenvolvimento de Jogos em FlutterDevCamp Campinas
 
Davi Silva e Izabela Amaral - Oferecendo soluções de negócio mais assertivas ...
Davi Silva e Izabela Amaral - Oferecendo soluções de negócio mais assertivas ...Davi Silva e Izabela Amaral - Oferecendo soluções de negócio mais assertivas ...
Davi Silva e Izabela Amaral - Oferecendo soluções de negócio mais assertivas ...DevCamp Campinas
 
Andre Fossa - Reinventando a Nextel: como a transformação digital ajudou a qu...
Andre Fossa - Reinventando a Nextel: como a transformação digital ajudou a qu...Andre Fossa - Reinventando a Nextel: como a transformação digital ajudou a qu...
Andre Fossa - Reinventando a Nextel: como a transformação digital ajudou a qu...DevCamp Campinas
 
Alceu Bravo - Intraempreendedorismo – desafios da inovação para quem tem base...
Alceu Bravo - Intraempreendedorismo – desafios da inovação para quem tem base...Alceu Bravo - Intraempreendedorismo – desafios da inovação para quem tem base...
Alceu Bravo - Intraempreendedorismo – desafios da inovação para quem tem base...DevCamp Campinas
 
Fábio Lima Santos - Desenhando aplicações que evoluem
Fábio Lima Santos - Desenhando aplicações que evoluemFábio Lima Santos - Desenhando aplicações que evoluem
Fábio Lima Santos - Desenhando aplicações que evoluemDevCamp Campinas
 
João Emilio Santos Bento da Silva - Estratégia de APIs
João Emilio Santos Bento da Silva - Estratégia de APIsJoão Emilio Santos Bento da Silva - Estratégia de APIs
João Emilio Santos Bento da Silva - Estratégia de APIsDevCamp Campinas
 
José Guedes - Como encaramos quando as coisas dão errado
José Guedes - Como encaramos quando as coisas dão erradoJosé Guedes - Como encaramos quando as coisas dão errado
José Guedes - Como encaramos quando as coisas dão erradoDevCamp Campinas
 
Rafael Calsaverini - Inteligência Artificial para recrutar pessoas – Tecnolog...
Rafael Calsaverini - Inteligência Artificial para recrutar pessoas – Tecnolog...Rafael Calsaverini - Inteligência Artificial para recrutar pessoas – Tecnolog...
Rafael Calsaverini - Inteligência Artificial para recrutar pessoas – Tecnolog...DevCamp Campinas
 
Isac Sacchi e Souza - Migrando uma infraestrutura mutável para imutável e Kub...
Isac Sacchi e Souza - Migrando uma infraestrutura mutável para imutável e Kub...Isac Sacchi e Souza - Migrando uma infraestrutura mutável para imutável e Kub...
Isac Sacchi e Souza - Migrando uma infraestrutura mutável para imutável e Kub...DevCamp Campinas
 
Ingrid Barth - Blockchain, Criptomoedas e a nova maneira de entender o dinheiro
Ingrid Barth - Blockchain, Criptomoedas e a nova maneira de entender o dinheiroIngrid Barth - Blockchain, Criptomoedas e a nova maneira de entender o dinheiro
Ingrid Barth - Blockchain, Criptomoedas e a nova maneira de entender o dinheiroDevCamp Campinas
 
Igor Hjelmstrom Ribeiro - Bitcoin: desafios de segurança frente à ataques de...
Igor Hjelmstrom Ribeiro -  Bitcoin: desafios de segurança frente à ataques de...Igor Hjelmstrom Ribeiro -  Bitcoin: desafios de segurança frente à ataques de...
Igor Hjelmstrom Ribeiro - Bitcoin: desafios de segurança frente à ataques de...DevCamp Campinas
 

Más de DevCamp Campinas (20)

Dylan Butler & Oliver Hager - Building a cross platform cryptocurrency app
Dylan Butler & Oliver Hager - Building a cross platform cryptocurrency appDylan Butler & Oliver Hager - Building a cross platform cryptocurrency app
Dylan Butler & Oliver Hager - Building a cross platform cryptocurrency app
 
Thaissa Bueno - Implantando modelos Deep Learning em cluster Kubernetes com G...
Thaissa Bueno - Implantando modelos Deep Learning em cluster Kubernetes com G...Thaissa Bueno - Implantando modelos Deep Learning em cluster Kubernetes com G...
Thaissa Bueno - Implantando modelos Deep Learning em cluster Kubernetes com G...
 
Gabriel Pacheco e Felipe Cardoso - Nextel + React Native: Lições aprendidas a...
Gabriel Pacheco e Felipe Cardoso - Nextel + React Native: Lições aprendidas a...Gabriel Pacheco e Felipe Cardoso - Nextel + React Native: Lições aprendidas a...
Gabriel Pacheco e Felipe Cardoso - Nextel + React Native: Lições aprendidas a...
 
Everton Gago - Ciência de Dados: O melhor caminho para alinhar o produto com ...
Everton Gago - Ciência de Dados: O melhor caminho para alinhar o produto com ...Everton Gago - Ciência de Dados: O melhor caminho para alinhar o produto com ...
Everton Gago - Ciência de Dados: O melhor caminho para alinhar o produto com ...
 
Eiti Kimura - Analisador de dados automatizado utilizando machine learning
Eiti Kimura - Analisador de dados automatizado utilizando machine learningEiti Kimura - Analisador de dados automatizado utilizando machine learning
Eiti Kimura - Analisador de dados automatizado utilizando machine learning
 
Bárbara Silveira e Giovanna Victorino - Desenvolva também para TVs (AppleTV e...
Bárbara Silveira e Giovanna Victorino - Desenvolva também para TVs (AppleTV e...Bárbara Silveira e Giovanna Victorino - Desenvolva também para TVs (AppleTV e...
Bárbara Silveira e Giovanna Victorino - Desenvolva também para TVs (AppleTV e...
 
Leonardo Zamariola - High Order Functions e Functional Interfaces
Leonardo Zamariola - High Order Functions e Functional InterfacesLeonardo Zamariola - High Order Functions e Functional Interfaces
Leonardo Zamariola - High Order Functions e Functional Interfaces
 
Lara Rejane - Gestão ágil de pessoas
Lara Rejane - Gestão ágil de pessoasLara Rejane - Gestão ágil de pessoas
Lara Rejane - Gestão ágil de pessoas
 
Eduardo Merighi - Escalabilidade tecnológica de uma fintech: como a Neon faz?
Eduardo Merighi - Escalabilidade tecnológica de uma fintech: como a Neon faz?Eduardo Merighi - Escalabilidade tecnológica de uma fintech: como a Neon faz?
Eduardo Merighi - Escalabilidade tecnológica de uma fintech: como a Neon faz?
 
Erick Zanardo - Desenvolvimento de Jogos em Flutter
Erick Zanardo - Desenvolvimento de Jogos em FlutterErick Zanardo - Desenvolvimento de Jogos em Flutter
Erick Zanardo - Desenvolvimento de Jogos em Flutter
 
Davi Silva e Izabela Amaral - Oferecendo soluções de negócio mais assertivas ...
Davi Silva e Izabela Amaral - Oferecendo soluções de negócio mais assertivas ...Davi Silva e Izabela Amaral - Oferecendo soluções de negócio mais assertivas ...
Davi Silva e Izabela Amaral - Oferecendo soluções de negócio mais assertivas ...
 
Andre Fossa - Reinventando a Nextel: como a transformação digital ajudou a qu...
Andre Fossa - Reinventando a Nextel: como a transformação digital ajudou a qu...Andre Fossa - Reinventando a Nextel: como a transformação digital ajudou a qu...
Andre Fossa - Reinventando a Nextel: como a transformação digital ajudou a qu...
 
Alceu Bravo - Intraempreendedorismo – desafios da inovação para quem tem base...
Alceu Bravo - Intraempreendedorismo – desafios da inovação para quem tem base...Alceu Bravo - Intraempreendedorismo – desafios da inovação para quem tem base...
Alceu Bravo - Intraempreendedorismo – desafios da inovação para quem tem base...
 
Fábio Lima Santos - Desenhando aplicações que evoluem
Fábio Lima Santos - Desenhando aplicações que evoluemFábio Lima Santos - Desenhando aplicações que evoluem
Fábio Lima Santos - Desenhando aplicações que evoluem
 
João Emilio Santos Bento da Silva - Estratégia de APIs
João Emilio Santos Bento da Silva - Estratégia de APIsJoão Emilio Santos Bento da Silva - Estratégia de APIs
João Emilio Santos Bento da Silva - Estratégia de APIs
 
José Guedes - Como encaramos quando as coisas dão errado
José Guedes - Como encaramos quando as coisas dão erradoJosé Guedes - Como encaramos quando as coisas dão errado
José Guedes - Como encaramos quando as coisas dão errado
 
Rafael Calsaverini - Inteligência Artificial para recrutar pessoas – Tecnolog...
Rafael Calsaverini - Inteligência Artificial para recrutar pessoas – Tecnolog...Rafael Calsaverini - Inteligência Artificial para recrutar pessoas – Tecnolog...
Rafael Calsaverini - Inteligência Artificial para recrutar pessoas – Tecnolog...
 
Isac Sacchi e Souza - Migrando uma infraestrutura mutável para imutável e Kub...
Isac Sacchi e Souza - Migrando uma infraestrutura mutável para imutável e Kub...Isac Sacchi e Souza - Migrando uma infraestrutura mutável para imutável e Kub...
Isac Sacchi e Souza - Migrando uma infraestrutura mutável para imutável e Kub...
 
Ingrid Barth - Blockchain, Criptomoedas e a nova maneira de entender o dinheiro
Ingrid Barth - Blockchain, Criptomoedas e a nova maneira de entender o dinheiroIngrid Barth - Blockchain, Criptomoedas e a nova maneira de entender o dinheiro
Ingrid Barth - Blockchain, Criptomoedas e a nova maneira de entender o dinheiro
 
Igor Hjelmstrom Ribeiro - Bitcoin: desafios de segurança frente à ataques de...
Igor Hjelmstrom Ribeiro -  Bitcoin: desafios de segurança frente à ataques de...Igor Hjelmstrom Ribeiro -  Bitcoin: desafios de segurança frente à ataques de...
Igor Hjelmstrom Ribeiro - Bitcoin: desafios de segurança frente à ataques de...
 

Meu DBA não é ágil, e agora?

  • 2. "Sou especialista em Bancos de Dados, apaixonado por aprender, com mais de 10 anos de experiência na área e com expertise em Oracle, PostgreSQL, SQL Server e MySQL. Também tenho interesse em Metodologias Ágeis, Analytics, DevOps e Machine Learning." ABOUT ME
  • 3. O PROBLEMA O que mudou nos últimos anos PROJECT MANAGEMENT ARQUITETURA INFRA Waterfall -> Ágil Monolitos -> Micro- Serviços Infraestrutura como Código
  • 5. O PROBLEMA E os Bancos de Dados? Dos sistemas para realizar alterações de estrutura no banco de dados DOWNTIME Das alterações no banco de dados. EXECUÇÃO MANUAL Execuções manuais podem levar a resultados diferentes e não são escaláveis. RESULTADO 
  • 6. TRIVIA 1 . C O M O I N S T A L A R 6 0 0 I N S T Â N C I A S E M U M Ú N I C O D I A ? 2 . C O M O M A N T E R D I V E R S A S V E R S Õ E S D E U M A P P U T I L I Z A N D O U M M E S M O B A N C O D E D A D O S ? 3 . C O M O D E I X A R D E S E R O G A R G A L O D O D E P L O Y S E M A B R I R M Ã O D A E S T A B I L I D A D E ?
  • 7. IAC C H A P T E R 1 I N F R A S T R U C T U R E A S C O D E
  • 8. AS FERRAMENTAS Top 3 TIME MONEY SAFETY takes longer research and planning cheaper when you travel with a group no one to rely on in case of difficulties 
  • 9. A ARQUITETURA Uma arquitetura simples TIME MONEY SAFETY takes longer research and planning cheaper when you travel with a group no one to rely on in case of difficulties 
  • 10.
  • 11.
  • 12.
  • 13.
  • 14. REFACTORING C H A P T E R 2 D A T A B A S E R E F A C T O R I N G
  • 15. JANELA DE MIGRAÇÃO Qual é a sua? A FRIO PLANEJADAS ALL-IN Downtime e Prazo  Limitam a capacidade de inovação Se não der certo é feito o rollback
  • 16. WHY P O R Q U E A D O T A R U M M O D E L O E V O L U T I V O ? "Minimizar o desperdício" "Diminuir a unidade de trabalho" "Realizar TDD" "Você sempre possui um sistema funcional" "Você trabalha da mesma maneira que os desenvolvedores"
  • 17. SPLIT COLUMN Tabela Original Adicionados os campos e a trigger de sincronização Removido o campo original
  • 18. RENAME TABLE Tabela Original Criada a tabela com o novo nome e a trigger de sincronia Removida a tabela original
  • 19. RESUMO Alterações pequenas são preferíveis Implemente grandes mudanças quebrando-as em várias pequenas Prefira triggers para sincronização de dados Escolha um período suficiente para dropar objetos antigos Coloque as mudanças em um controle de versão
  • 20. DBCI C H A P T E R 3 D A T A B A S E C O N T I N U O U S I N T E G R A T I O N
  • 23.
  • 25. DEVOPS Algumas soluções propostas Automação e Escalabilidade IAC Implementações sem Downtime REFACTORING Controle de Versão DBCI 
  • 26. IMPLICAÇÕES Devops, Cloud e o Futuro PAAS DEVOPS ESTRATÉGIA Platform as a Service Automação e Escalabilidade Continuidade
  • 28. "Like it or not, requirements change as your project progresses. Traditional approaches have denied this fundamental reality and have tried to "manage change", a euphemism for preventing change." -Scott Ambler/Pramod Sadalage (Refactoring Databases) TESTIMONIAL