Você está na página 1de 30

Como escolher sua

ferramenta de
dados usando o
teorema CAP
Gustavo Concon

Objetivo aqui hoje


Desmistificar

NoSQL
Qual 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


solues de alto volume
Segundo Martin Fowler: uma hashtag do Twitter #nosql

Relational Databases

Relational Databases

CONSISTNCIA!!!

INTEGRAO

ESTOQUE

CORPORATIVO

VENDAS

Internet Scale

T
S
!
I
L
S
I
N
A
F
O
C
A

I
C

INSERT

SELECT

NOSQL

Teorema CAP
Consistency
Todos enxergam os mesmos dados
Availability
Operaes com alta disponibilidade (Requisies
sempre atendidas)
Partition-tolerance
Caso a comunicao (rede) entre um n e outro falhe,
o sistema continua operante

Teorema CAP

CA

CONSISTNCIA

CP

S 2!!!

AVAILABILITY
(DISPONIBILIDADE)

PA

PARTITION
TOLERANCE

C+A - CONSISTENCY + AVAILABILITY


RDBMS

Sem necessidade de ser


internet scale
No bigdata
Consegue alta
disponibilidade
Todos enxergam o dado
imediatamente aps o
commit

C+P - CONSISTNCIA + PART.


TOLERANCE

MemcacheDB

Parte dos dados (shard)


pode ficar indisponvel (por
isso no A)
CP -> AP (consistncia
eventual)
master/slave dentro do
shard

A+P - AVAILABILITY + PART.


TOLERANCE
+++INSERT
Consistncia eventual

Na prtica...

T
I
M !!
O

CONSISTNCIA!!
!

BOOKING.COM

1
VAGA!!!

T
I
M !!
O

CONSISTNCIA!!
!

UMA

DECISO DE NEGCIO!!!

Definiu qual garantia vc


vai abrir mo?

Tipos de NoSQL
Key-value
Document
Columnar
Graph

Key-value
Like a hashmap
key1

<Object
1>

Schemaless

key2

<Object
2>

Value caixa preta!

key3

<Object
3>

key4

<Object
4>

Document-oriented
Schemaless
Value mais compreensvel

Column-oriented
Alguns so Schemaless,
menos flexveis
Bom para sumarizaes

Graph-oriented
Schemaless
Redes sociais!

Produtos x Tipo

NoSQL == Produtividade

RELACIONAL NO EST
MORTO!

NO JUSTIFIQUE
TECNOLOGIA PELA
TECNOLOGIA

Ttulo para o Slide

Obrigado!

Você também pode gostar