Quebrando relacionamentos

Post on 25-Dec-2014

649 views 1 download

description

Presentation Gregório Melo and I did at JavaCE Community Conference over in Fortaleza, Brazil.

Transcript of Quebrando relacionamentos

Quebrando

Relacionamentos

Gregório Melo@gregoriomelo

Carlos Villela@cv

RecifePorto Alegre+ 22 cidades

join .thoughtworks.com

</jabá>

Relacionamentosem todo lugar

Somosensinados amantê-los

Abrir mãode coisas legais

e isso é bom

Abrir mãode coisas legais

até que enjoa

Abrir mãode coisas legais

Quando apressãoaumenta

Tentamos compraruma solução

Até quenão dá mais

Quebrando

Relacionamentos

Primeiros

Lembrar do queabrimos mão

Tolerância a partição

Consistência

Disponibilidade

Consistência

Todos clientes veemos mesmos dados

DisponibilidadeTodos clientes leeme escrevem com a mesmalatência máxima

Tolerância a partiçãoNenhuma falha menordo que uma falha totalda rede estraga a festa

Escala horizontal

Escala horizontal

(ou uma escala vertical melhor)

E se…

A+PC+P

E se…

nem tudo fossetabela?

Chave-valor

DocumentosColunas

Grafos

RedisHBase

MongoNeo4J

Chave-valor

DocumentosColunas

Grafos

Fácil

Rápido

Limitado

(um ovo frito)

HashList

SetSorted Set

String

Atômico

1 thread

Sync

Rápido

Horizontal

Complicado

(cabe tudo)

HDFS

java.util.Map

byte[]

{ perfil: { cv: { geo: { lat: { 1: 55.5 }, lon: { 1: 44.4 },

{ perfil: { cv: { geo: { lat: { 1: 55.5 }, lon: { 1: 44.4 },

Coluna

{ perfil: { cv: { geo: { lat: { 1: 55.5 }, lon: { 1: 44.4 },

Família

{ perfil: { cv: { geo: { lat: { 1: 55.5 }, lon: { 1: 44.4 },

Chave

{ perfil: { cv: { geo: { lat: { 1: 55.5 }, lon: { 1: 44.4 },

Tabela

{ perfil: { gregorio: { geo: { ... }, likes: { mução : { 1: true

Reuniramigos

map near [56, 45]

uma ruma

reduce fã uma ruma

[gm, cm, jg, ml, rl]

Calma

join .thoughtworks.com