[ci&t summit 2014] como escolher sua ferramenta de dados usando o teorema cap
DESCRIPTION
Com tantas opções de bancos de dados NoSQL, como escolher a melhor? O que devo considerar?TRANSCRIPT
![Page 1: [CI&T Summit 2014] Como Escolher Sua Ferramenta de Dados Usando o Teorema CAP](https://reader033.vdocuments.mx/reader033/viewer/2022051500/5695d44f1a28ab9b02a1035a/html5/thumbnails/1.jpg)
Como escolher sua ferramenta de
dados usando o teorema CAP
Gustavo Concon
![Page 2: [CI&T Summit 2014] Como Escolher Sua Ferramenta de Dados Usando o Teorema CAP](https://reader033.vdocuments.mx/reader033/viewer/2022051500/5695d44f1a28ab9b02a1035a/html5/thumbnails/2.jpg)
Objetivo aqui hoje
Desmistificar
NoSQLQual eu uso???
![Page 3: [CI&T Summit 2014] Como Escolher Sua Ferramenta de Dados Usando o Teorema CAP](https://reader033.vdocuments.mx/reader033/viewer/2022051500/5695d44f1a28ab9b02a1035a/html5/thumbnails/3.jpg)
Enxurrada de produtos
![Page 4: [CI&T Summit 2014] Como Escolher Sua Ferramenta de Dados Usando o Teorema CAP](https://reader033.vdocuments.mx/reader033/viewer/2022051500/5695d44f1a28ab9b02a1035a/html5/thumbnails/4.jpg)
WTH is NOSQL????????
➔ NOSQL (Not Only SQL)
➔ É uma linguagem de queries?➔ É uma tecnologia de bigdata?
Termo usado pra categorizar essas soluções de alto volumeSegundo Martin Fowler: uma hashtag do Twitter #nosql
![Page 5: [CI&T Summit 2014] Como Escolher Sua Ferramenta de Dados Usando o Teorema CAP](https://reader033.vdocuments.mx/reader033/viewer/2022051500/5695d44f1a28ab9b02a1035a/html5/thumbnails/5.jpg)
Relational Databases
![Page 6: [CI&T Summit 2014] Como Escolher Sua Ferramenta de Dados Usando o Teorema CAP](https://reader033.vdocuments.mx/reader033/viewer/2022051500/5695d44f1a28ab9b02a1035a/html5/thumbnails/6.jpg)
Relational Databases
CONSISTÊNCIA!!!
![Page 7: [CI&T Summit 2014] Como Escolher Sua Ferramenta de Dados Usando o Teorema CAP](https://reader033.vdocuments.mx/reader033/viewer/2022051500/5695d44f1a28ab9b02a1035a/html5/thumbnails/7.jpg)
INTEGRAÇÃO
ESTOQUECORPORATIVO
VENDAS
![Page 8: [CI&T Summit 2014] Como Escolher Sua Ferramenta de Dados Usando o Teorema CAP](https://reader033.vdocuments.mx/reader033/viewer/2022051500/5695d44f1a28ab9b02a1035a/html5/thumbnails/8.jpg)
Internet Scale
INSERT
SELECTCONSISTÊNCI
A FAIL!
![Page 9: [CI&T Summit 2014] Como Escolher Sua Ferramenta de Dados Usando o Teorema CAP](https://reader033.vdocuments.mx/reader033/viewer/2022051500/5695d44f1a28ab9b02a1035a/html5/thumbnails/9.jpg)
NOSQL
![Page 10: [CI&T Summit 2014] Como Escolher Sua Ferramenta de Dados Usando o Teorema CAP](https://reader033.vdocuments.mx/reader033/viewer/2022051500/5695d44f1a28ab9b02a1035a/html5/thumbnails/10.jpg)
Teorema CAP
➔ ConsistencyTodos enxergam os mesmos dados
➔ AvailabilityOperações com alta disponibilidade (Requisições sempre atendidas)
➔ Partition-toleranceCaso a comunicação (rede) entre um nó e outro falhe, o sistema continua operante
![Page 11: [CI&T Summit 2014] Como Escolher Sua Ferramenta de Dados Usando o Teorema CAP](https://reader033.vdocuments.mx/reader033/viewer/2022051500/5695d44f1a28ab9b02a1035a/html5/thumbnails/11.jpg)
Teorema CAP
CONSISTÊNCIA AVAILABILITY (DISPONIBILIDADE)
PARTITION TOLERANCE
CA
CP PA
SÓ 2!!!
![Page 12: [CI&T Summit 2014] Como Escolher Sua Ferramenta de Dados Usando o Teorema CAP](https://reader033.vdocuments.mx/reader033/viewer/2022051500/5695d44f1a28ab9b02a1035a/html5/thumbnails/12.jpg)
C+A - CONSISTENCY + AVAILABILITY
RDBMS ➔ Sem necessidade de ser “internet scale”
➔ Não é “bigdata”
➔ Consegue alta disponibilidade
➔ Todos enxergam o dado imediatamente após o commit
![Page 13: [CI&T Summit 2014] Como Escolher Sua Ferramenta de Dados Usando o Teorema CAP](https://reader033.vdocuments.mx/reader033/viewer/2022051500/5695d44f1a28ab9b02a1035a/html5/thumbnails/13.jpg)
C+P - CONSISTÊNCIA + PART. TOLERANCE
MemcacheDB
➔ Parte dos dados (shard) pode ficar indisponível (por isso não é A)
➔ CP -> AP (consistência eventual)
➔ master/slave dentro do shard
![Page 14: [CI&T Summit 2014] Como Escolher Sua Ferramenta de Dados Usando o Teorema CAP](https://reader033.vdocuments.mx/reader033/viewer/2022051500/5695d44f1a28ab9b02a1035a/html5/thumbnails/14.jpg)
A+P - AVAILABILITY + PART. TOLERANCE
➔ +++INSERT
➔ Consistência eventual
![Page 15: [CI&T Summit 2014] Como Escolher Sua Ferramenta de Dados Usando o Teorema CAP](https://reader033.vdocuments.mx/reader033/viewer/2022051500/5695d44f1a28ab9b02a1035a/html5/thumbnails/15.jpg)
Na prática...
![Page 16: [CI&T Summit 2014] Como Escolher Sua Ferramenta de Dados Usando o Teorema CAP](https://reader033.vdocuments.mx/reader033/viewer/2022051500/5695d44f1a28ab9b02a1035a/html5/thumbnails/16.jpg)
CONSISTÊNCIA!!!
M I T
O ! !
![Page 17: [CI&T Summit 2014] Como Escolher Sua Ferramenta de Dados Usando o Teorema CAP](https://reader033.vdocuments.mx/reader033/viewer/2022051500/5695d44f1a28ab9b02a1035a/html5/thumbnails/17.jpg)
BOOKING.COM
1 VAGA!!!
CONSISTÊNCIA!!!
M I T
O ! !
![Page 18: [CI&T Summit 2014] Como Escolher Sua Ferramenta de Dados Usando o Teorema CAP](https://reader033.vdocuments.mx/reader033/viewer/2022051500/5695d44f1a28ab9b02a1035a/html5/thumbnails/18.jpg)
É UMA
DECISÃO DE NEGÓCIO!!!
![Page 19: [CI&T Summit 2014] Como Escolher Sua Ferramenta de Dados Usando o Teorema CAP](https://reader033.vdocuments.mx/reader033/viewer/2022051500/5695d44f1a28ab9b02a1035a/html5/thumbnails/19.jpg)
Definiu qual garantia vc vai abrir mão?
![Page 20: [CI&T Summit 2014] Como Escolher Sua Ferramenta de Dados Usando o Teorema CAP](https://reader033.vdocuments.mx/reader033/viewer/2022051500/5695d44f1a28ab9b02a1035a/html5/thumbnails/20.jpg)
![Page 21: [CI&T Summit 2014] Como Escolher Sua Ferramenta de Dados Usando o Teorema CAP](https://reader033.vdocuments.mx/reader033/viewer/2022051500/5695d44f1a28ab9b02a1035a/html5/thumbnails/21.jpg)
Tipos de NoSQL
➔ Key-value
➔ Document
➔ Columnar
➔ Graph
![Page 22: [CI&T Summit 2014] Como Escolher Sua Ferramenta de Dados Usando o Teorema CAP](https://reader033.vdocuments.mx/reader033/viewer/2022051500/5695d44f1a28ab9b02a1035a/html5/thumbnails/22.jpg)
Key-value
➔ “Like a hashmap”
➔ Schemaless
➔ Value é caixa preta!
key1 <Object 1>key2 <Object 2>key3 <Object 3>key4 <Object 4>
![Page 23: [CI&T Summit 2014] Como Escolher Sua Ferramenta de Dados Usando o Teorema CAP](https://reader033.vdocuments.mx/reader033/viewer/2022051500/5695d44f1a28ab9b02a1035a/html5/thumbnails/23.jpg)
Document-oriented
➔ Schemaless
➔ Value mais compreensível
![Page 24: [CI&T Summit 2014] Como Escolher Sua Ferramenta de Dados Usando o Teorema CAP](https://reader033.vdocuments.mx/reader033/viewer/2022051500/5695d44f1a28ab9b02a1035a/html5/thumbnails/24.jpg)
Column-oriented
➔ Alguns são Schemaless, menos flexíveis
➔ Bom para sumarizações
![Page 25: [CI&T Summit 2014] Como Escolher Sua Ferramenta de Dados Usando o Teorema CAP](https://reader033.vdocuments.mx/reader033/viewer/2022051500/5695d44f1a28ab9b02a1035a/html5/thumbnails/25.jpg)
Graph-oriented
➔ Schemaless
➔ Redes sociais!
![Page 26: [CI&T Summit 2014] Como Escolher Sua Ferramenta de Dados Usando o Teorema CAP](https://reader033.vdocuments.mx/reader033/viewer/2022051500/5695d44f1a28ab9b02a1035a/html5/thumbnails/26.jpg)
Produtos x Tipo
![Page 27: [CI&T Summit 2014] Como Escolher Sua Ferramenta de Dados Usando o Teorema CAP](https://reader033.vdocuments.mx/reader033/viewer/2022051500/5695d44f1a28ab9b02a1035a/html5/thumbnails/27.jpg)
NoSQL == Produtividade
![Page 28: [CI&T Summit 2014] Como Escolher Sua Ferramenta de Dados Usando o Teorema CAP](https://reader033.vdocuments.mx/reader033/viewer/2022051500/5695d44f1a28ab9b02a1035a/html5/thumbnails/28.jpg)
RELACIONAL NÃO ESTÁ MORTO!
![Page 29: [CI&T Summit 2014] Como Escolher Sua Ferramenta de Dados Usando o Teorema CAP](https://reader033.vdocuments.mx/reader033/viewer/2022051500/5695d44f1a28ab9b02a1035a/html5/thumbnails/29.jpg)
NÃO JUSTIFIQUE TECNOLOGIA PELA
TECNOLOGIA
![Page 30: [CI&T Summit 2014] Como Escolher Sua Ferramenta de Dados Usando o Teorema CAP](https://reader033.vdocuments.mx/reader033/viewer/2022051500/5695d44f1a28ab9b02a1035a/html5/thumbnails/30.jpg)
Título para o Slide
Obrigado!