[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
Como escolher sua ferramenta de
dados usando o teorema CAP
Gustavo Concon
Objetivo aqui hoje
Desmistificar
NoSQLQual eu uso???
Enxurrada de produtos
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
Relational Databases
Relational Databases
CONSISTÊNCIA!!!
INTEGRAÇÃO
ESTOQUECORPORATIVO
VENDAS
Internet Scale
INSERT
SELECTCONSISTÊNCI
A FAIL!
NOSQL
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
Teorema CAP
CONSISTÊNCIA AVAILABILITY (DISPONIBILIDADE)
PARTITION TOLERANCE
CA
CP PA
SÓ 2!!!
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
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
A+P - AVAILABILITY + PART. TOLERANCE
➔ +++INSERT
➔ Consistência eventual
Na prática...
CONSISTÊNCIA!!!
M I T
O ! !
BOOKING.COM
1 VAGA!!!
CONSISTÊNCIA!!!
M I T
O ! !
É UMA
DECISÃO DE NEGÓCIO!!!
Definiu qual garantia vc vai abrir mão?
Tipos de NoSQL
➔ Key-value
➔ Document
➔ Columnar
➔ Graph
Key-value
➔ “Like a hashmap”
➔ Schemaless
➔ Value é caixa preta!
key1 <Object 1>key2 <Object 2>key3 <Object 3>key4 <Object 4>
Document-oriented
➔ Schemaless
➔ Value mais compreensível
Column-oriented
➔ Alguns são Schemaless, menos flexíveis
➔ Bom para sumarizações
Graph-oriented
➔ Schemaless
➔ Redes sociais!
Produtos x Tipo
NoSQL == Produtividade
RELACIONAL NÃO ESTÁ MORTO!
NÃO JUSTIFIQUE TECNOLOGIA PELA
TECNOLOGIA
Título para o Slide
Obrigado!