[ci&t summit 2014] como escolher sua ferramenta de dados usando o teorema cap

Post on 12-Apr-2016

8 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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!

top related