SlideShare uma empresa Scribd logo
Keep calm and Database Continuous Deployment
Quem Somos
@fabriziomello
@guilhermelias
Presumimos que você já ...
● Conhece o que é versionamento
● Utiliza alguma ferramenta/técnica de
automação
● Faz isso em seu database
Alguém NÃO “versiona” seu DB ???
Para quem respondeu SIM!!!!
Te esperamos na
“Picareta Solutions”
Introdução ...
Não iremos falar de NoSQL ...
Não temos nenhuma “bala de prata” ...
… mas iremos apresentar dicas legais sobre
deploy em RDBMS 24x7
AFINAL REQUISITOS MUDAM ...
ALTERAÇÃO BÁSICA ...
ALTER TABLE “tabela_mais_acessada_e_mais_gigante”
ADD “sabe_de_nada_inocente” BIGINT DEFAULT 69;
E SENTA O DEDO NO PIPELINE ....
Keep calm and Database Continuous Deployment
Keep calm and Database Continuous Deployment
ENTÃO TUDO É “VALIDADO” ...
MAS É AÍ QUE SURGE A DOR ....
ONDE FOI QUE EU ERREI ???
#WTF
ESTAMOS LIDANDO COM RDBMS
ACID PROPERTIES
CONCURRENCY CONTROL
LOCK STRATEGY
ALTER TABLE “tabela_mais_acessada_e_mais_gigante”
ADD “sabe_de_nada_inocente” BIGINT DEFAULT 69;
LEMBRAM DA ALTERAÇÃO BÁSICA?
O QUE É IMPORTANTE ENTENDER ...
● Criação de nova coluna “sabe_de_nada_inocente”
● Update gradual dos registros existentes para o valor default “69”
● Definição do valor default para novos registros “69”
ALTER TABLE “tabela_mais_acessada_e_mais_gigante”
ADD “sabe_de_nada_inocente” BIGINT;
UPDATE “tabela_mais_acessada_e_mais_gigante”
SET “sabe_de_nada_inocente” = 69
WHERE “id” BETWEEN 1 AND 10000
...
WHERE “id” BETWEEN 10001 AND 20000
...
ALTER TABLE “tabela_mais_acessada_e_mais_gigante”
ALTER “sabe_de_nada_inocente” SET DEFAULT 69;
LEMBRAM DA ALTERAÇÃO BÁSICA?
ALGUMAS OUTRAS DICAS ...
● Uso de triggers (INSERT / UPDATE)
● Criação de novas colunas ao invés de modificação de tipos
● Deploy especifíco para remoção de objetos
Sufixo TO_DROP ...
DATABASE REFACTORING
Dev
… é criar / modificar / alterar
Ops
… é manter / zelar / NÃO MEXER!
Dev & Ops
E por que não …
… DBDevOps?!
Dev & Ops
Keep calm and Database Continuous Deployment
Keep calm and Database Continuous Deployment
@fabriziomello
@guilhermelias
DÚVIDAS???

Mais conteúdo relacionado

PPTX
Desenvolvimento orientado a Testes
DOC
Lógica da programação
PDF
Do Agil ao agil, como evoluimos processos na plataformatec
PDF
NoSQL + SQL = PostgreSQL (DBA Brasil 1.0 - São Paulo/SP)
PDF
GSoC2014 - PGCon2015 Presentation June, 2015
PDF
GSoC2014 - PGDay Ijui/RS Presentation October, 2016
PDF
Dojo plpgsql
PDF
Bad Smells (mal cheiros) em Bancos de Dados
Desenvolvimento orientado a Testes
Lógica da programação
Do Agil ao agil, como evoluimos processos na plataformatec
NoSQL + SQL = PostgreSQL (DBA Brasil 1.0 - São Paulo/SP)
GSoC2014 - PGCon2015 Presentation June, 2015
GSoC2014 - PGDay Ijui/RS Presentation October, 2016
Dojo plpgsql
Bad Smells (mal cheiros) em Bancos de Dados

Destaque (17)

PDF
Como posso colaborar com o PostgreSQL
PDF
EXPLicando o Explain no PostgreSQL
PDF
Bad Smells (mal cheiros) em Bancos de Dados
PDF
Bad Smells em Bancos de Dados
PDF
Dojo PHP (treinanto programação orientada a objetos em PHP)
PDF
GSoC2014 - Uniritter Presentation May, 2015
PDF
Sharing Code and Experiences
ODP
Postgres Wonderland - PGDay Cascavél 2013
PDF
Planejador de Consultas do PostgreSQL
PPTX
Курс лекций на программу МВА в РУДН 16 февраля 2016 Тема "Управление изменени...
PPT
יחידת הוראה לחנכה
PDF
Tutorial Database Refactoring
PDF
NoSQL + SQL = PostgreSQL (TDC2014 - Porto Alegre/RS)
PDF
PostgreSQL: How to Store Passwords Safely
PDF
PROCERGS 2015-03-25: Bad Smells em Bancos de Dados
PDF
Greenplum: O banco de dados open source massivamente paralelo baseado em Post...
PDF
DevOps e PostgreSQL: Replicação de forma simplificada | Miguel Di Ciurcio
Como posso colaborar com o PostgreSQL
EXPLicando o Explain no PostgreSQL
Bad Smells (mal cheiros) em Bancos de Dados
Bad Smells em Bancos de Dados
Dojo PHP (treinanto programação orientada a objetos em PHP)
GSoC2014 - Uniritter Presentation May, 2015
Sharing Code and Experiences
Postgres Wonderland - PGDay Cascavél 2013
Planejador de Consultas do PostgreSQL
Курс лекций на программу МВА в РУДН 16 февраля 2016 Тема "Управление изменени...
יחידת הוראה לחנכה
Tutorial Database Refactoring
NoSQL + SQL = PostgreSQL (TDC2014 - Porto Alegre/RS)
PostgreSQL: How to Store Passwords Safely
PROCERGS 2015-03-25: Bad Smells em Bancos de Dados
Greenplum: O banco de dados open source massivamente paralelo baseado em Post...
DevOps e PostgreSQL: Replicação de forma simplificada | Miguel Di Ciurcio
Anúncio

Mais de Fabrízio Mello (13)

PDF
PHP e PostgreSQL: Um é pouco, dois é bom, três é demais
PDF
Bad Smells (mal cheiros) em Bancos de Dados
PPTX
URCAMP (Jun2017) - Como o papel e atividades de DBA ficam no contexto da cult...
PDF
DBA Brasil 2.0: Como o papel e atividades de DBA ficam no contexto da cultura...
PDF
Software Delivery Like a Boss
PDF
NoSQL + SQL = PostgreSQL (PGDay Campinas 2014)
PDF
Oficina PostgreSQL Básico Latinoware 2012
ODP
Oficina postgresql avançado_consegi2010
ODP
Oficina postgresql basico_consegi2010
ODP
Database refactoring postgresql_consegi2010
ODP
Database Refactoring PostgreSQL Urcamp Alegrete 2009
ODP
Database Refactoring com PostgreSQL PGDay RS 2009
ODP
Refatoração Banco de Dados (Agileweekend2009)
PHP e PostgreSQL: Um é pouco, dois é bom, três é demais
Bad Smells (mal cheiros) em Bancos de Dados
URCAMP (Jun2017) - Como o papel e atividades de DBA ficam no contexto da cult...
DBA Brasil 2.0: Como o papel e atividades de DBA ficam no contexto da cultura...
Software Delivery Like a Boss
NoSQL + SQL = PostgreSQL (PGDay Campinas 2014)
Oficina PostgreSQL Básico Latinoware 2012
Oficina postgresql avançado_consegi2010
Oficina postgresql basico_consegi2010
Database refactoring postgresql_consegi2010
Database Refactoring PostgreSQL Urcamp Alegrete 2009
Database Refactoring com PostgreSQL PGDay RS 2009
Refatoração Banco de Dados (Agileweekend2009)
Anúncio

Último (9)

PDF
Plano de gestão - template.pptx.pdf.pdf
DOC
COMO CRIAR DASHBOARD ATRAVES DE CODIFICAÇÃO PYTHON
PPTX
Perguntas e respostas.pptx Informática aplicada
PDF
Bases de dados - basicos dos basicos. como identificar chaves
PPTX
Sermao a mensagem da Cruz.pptx gdfvdcdfdfdsfcdsfxdfdfdfvdgf
PPTX
Apresentação Lagoa Mandaú Lagoa Mandaú Lagoa Mandaú
PPT
AULA COACHING INICIAL *******************
PDF
48585b89-ee4d-4f8d-b2c0-7db19cc44e44.pdf
PDF
Medidor de PH de bancada PH140 para uso em laboratório
Plano de gestão - template.pptx.pdf.pdf
COMO CRIAR DASHBOARD ATRAVES DE CODIFICAÇÃO PYTHON
Perguntas e respostas.pptx Informática aplicada
Bases de dados - basicos dos basicos. como identificar chaves
Sermao a mensagem da Cruz.pptx gdfvdcdfdfdsfcdsfxdfdfdfvdgf
Apresentação Lagoa Mandaú Lagoa Mandaú Lagoa Mandaú
AULA COACHING INICIAL *******************
48585b89-ee4d-4f8d-b2c0-7db19cc44e44.pdf
Medidor de PH de bancada PH140 para uso em laboratório

Keep calm and Database Continuous Deployment