30
Como escolher sua ferramenta de dados usando o teorema CAP Gustavo Concon

[CI&T Summit 2014] Como escolher sua ferramenta NoSQL usando o teorema CAP

Embed Size (px)

DESCRIPTION

Num mundo onde cloud, big data e alta escalabilidade predominam, saiba como escolher a ferramenta de dados mais adequada para sua solução dentre a enxurrada de produtos que temos hoje na comunidade de software. Nessa apresentação feita em 30/10 no CI&T Summit em Campinas - SP, apresento como o uso do teorema CAP pode auxiliar nessa decisão e quais as categorias de ferramentas de armazenamento disponíveis, com seus prós e contras. Em breve incluo o link para o vídeo no Youtube.

Citation preview

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

SELECT

NOSQL

Teorema CAP

➔Consistency

Todos enxergam os mesmos dados

➔Availability

Operações com alta disponibilidade (Requisições sempre

atendidas)

➔Partition-tolerance

Caso a comunicação (rede) entre um nó e outro falhe, o

sistema continua operante

Teorema CAP

CONSISTÊNCIAAVAILABILITY

(DISPONIBILIDADE)

PARTITION

TOLERANCE

CA

CP PA

SÓ 2!!!

C+A - CONSISTENCY + AVAILABILITY

RDBMS➔Sem necessidade de ser

“internet scale”

➔Maduro

➔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!!!

BOOKING.COM

1 VAGA!!!

CONSISTÊNCIA!!

!

É 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!