Top Banner
Quebrando Relacionamentos
50

Quebrando relacionamentos

Dec 25, 2014

Download

Technology

Carlos Villela

Presentation Gregório Melo and I did at JavaCE Community Conference over in Fortaleza, Brazil.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Quebrando relacionamentos

Quebrando

Relacionamentos

Page 2: Quebrando relacionamentos

Gregório Melo@gregoriomelo

Carlos Villela@cv

Page 3: Quebrando relacionamentos

RecifePorto Alegre+ 22 cidades

Page 4: Quebrando relacionamentos

join .thoughtworks.com

</jabá>

Page 5: Quebrando relacionamentos

Relacionamentosem todo lugar

Page 6: Quebrando relacionamentos

Somosensinados amantê-los

Page 7: Quebrando relacionamentos

Abrir mãode coisas legais

Page 8: Quebrando relacionamentos

e isso é bom

Abrir mãode coisas legais

Page 9: Quebrando relacionamentos

até que enjoa

Abrir mãode coisas legais

Page 10: Quebrando relacionamentos

Quando apressãoaumenta

Page 11: Quebrando relacionamentos

Tentamos compraruma solução

Page 12: Quebrando relacionamentos

Até quenão dá mais

Page 13: Quebrando relacionamentos

Quebrando

Relacionamentos

Page 14: Quebrando relacionamentos

Primeiros

Page 15: Quebrando relacionamentos

Lembrar do queabrimos mão

Page 16: Quebrando relacionamentos

Tolerância a partição

Consistência

Disponibilidade

Page 17: Quebrando relacionamentos

Consistência

Todos clientes veemos mesmos dados

Page 18: Quebrando relacionamentos

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

Page 19: Quebrando relacionamentos

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

Page 20: Quebrando relacionamentos
Page 21: Quebrando relacionamentos

Escala horizontal

Page 22: Quebrando relacionamentos

Escala horizontal

(ou uma escala vertical melhor)

Page 23: Quebrando relacionamentos

E se…

A+PC+P

Page 24: Quebrando relacionamentos

E se…

nem tudo fossetabela?

Page 25: Quebrando relacionamentos

Chave-valor

DocumentosColunas

Grafos

Page 26: Quebrando relacionamentos

RedisHBase

MongoNeo4J

Chave-valor

DocumentosColunas

Grafos

Page 27: Quebrando relacionamentos
Page 28: Quebrando relacionamentos

Fácil

Rápido

Limitado

Page 29: Quebrando relacionamentos

(um ovo frito)

Page 30: Quebrando relacionamentos

HashList

SetSorted Set

String

Page 31: Quebrando relacionamentos

Atômico

1 thread

Sync

Page 32: Quebrando relacionamentos
Page 33: Quebrando relacionamentos
Page 34: Quebrando relacionamentos

Rápido

Horizontal

Complicado

Page 35: Quebrando relacionamentos

(cabe tudo)

Page 36: Quebrando relacionamentos
Page 37: Quebrando relacionamentos

HDFS

Page 38: Quebrando relacionamentos

java.util.Map

byte[]

Page 39: Quebrando relacionamentos

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

Page 40: Quebrando relacionamentos

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

Coluna

Page 41: Quebrando relacionamentos

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

Família

Page 42: Quebrando relacionamentos

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

Chave

Page 43: Quebrando relacionamentos

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

Tabela

Page 44: Quebrando relacionamentos

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

Page 45: Quebrando relacionamentos

Reuniramigos

Page 46: Quebrando relacionamentos

map near [56, 45]

uma ruma

Page 47: Quebrando relacionamentos

reduce fã uma ruma

[gm, cm, jg, ml, rl]

Page 48: Quebrando relacionamentos

Calma

Page 49: Quebrando relacionamentos
Page 50: Quebrando relacionamentos

join .thoughtworks.com