quebrando relacionamentos
DESCRIPTION
Presentation Gregório Melo and I did at JavaCE Community Conference over in Fortaleza, Brazil.TRANSCRIPT
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