Transcript
Page 1: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

NoSQL

NewSQLonde armazenar meus dados?

SQL

segunda-feira, 7 de novembro de 2011

Page 2: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

Alexandre Porcelli

Organizer

Alexandre Porcelli

Commiter / Parser Developer

Alexandre PorcelliAPI Designer / Core Developer

Alexandre PorcelliDSL Designer

Alexandre Porcelli

Co-founder / Parser Developer

Alexandre Porcelli

Founder

segunda-feira, 7 de novembro de 2011

Page 3: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

segunda-feira, 7 de novembro de 2011

Page 4: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

segunda-feira, 7 de novembro de 2011

Page 5: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

contexto

segunda-feira, 7 de novembro de 2011

Page 6: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

século xxisegunda-feira, 7 de novembro de 2011

Page 7: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

segunda-feira, 7 de novembro de 2011

Page 8: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

falta de capitalsegunda-feira, 7 de novembro de 2011

Page 9: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

big data

segunda-feira, 7 de novembro de 2011

Page 10: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

história...

segunda-feira, 7 de novembro de 2011

Page 11: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

• Hierarchical (IMS): late 1960’s and 1970’s • Directed graph (CODASYL): 1970’s • Relational: 1970’s and early 1980’s • Entity-Relationship: 1970’s • Extended Relational: 1980’s • Semantic: late 1970’s and 1980’s• Object-oriented: late 1980’s and early 1990’s • Object-relational: late 1980’s and early 1990’s • Semi-structured (XML): late 1990’s to late 2000’s• The next big thing: ???

ref: What Goes Around Comes Around por Michael Stonebraker e Joey Hellerstein

modelos

segunda-feira, 7 de novembro de 2011

Page 12: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

nosql

segunda-feira, 7 de novembro de 2011

Page 13: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

segunda-feira, 7 de novembro de 2011

Page 14: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

definição...

segunda-feira, 7 de novembro de 2011

Page 15: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

abaixo ao banco de

dados relacional!

segunda-feira, 7 de novembro de 2011

Page 16: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

abaixo ao banco de dados relacional!

como bala de prata!

segunda-feira, 7 de novembro de 2011

Page 17: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

momento histórico...

segunda-feira, 7 de novembro de 2011

Page 18: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

segunda-feira, 7 de novembro de 2011

Page 19: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

uma nova escola

segunda-feira, 7 de novembro de 2011

Page 20: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

estrutura de dados

segunda-feira, 7 de novembro de 2011

Page 21: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

DESNORMALIZAÇÃO

segunda-feira, 7 de novembro de 2011

Page 22: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

chave-valor

segunda-feira, 7 de novembro de 2011

Page 23: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

modelo

segunda-feira, 7 de novembro de 2011

Page 24: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

família de colunassegunda-feira, 7 de novembro de 2011

Page 25: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

modeloKeyspace

Família de Colunas

.

.

.

chavelinha

coluna coluna coluna. . .coluna

chavelinha

coluna coluna coluna. . .coluna coluna coluna

nome valortimestamp

Coluna

segunda-feira, 7 de novembro de 2011

Page 26: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

documento

segunda-feira, 7 de novembro de 2011

Page 27: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

modelo

segunda-feira, 7 de novembro de 2011

Page 28: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

grafo

segunda-feira, 7 de novembro de 2011

Page 29: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

visão geral

segunda-feira, 7 de novembro de 2011

Page 30: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

segunda-feira, 7 de novembro de 2011

Page 31: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

segunda-feira, 7 de novembro de 2011

Page 32: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

arquitetura

segunda-feira, 7 de novembro de 2011

Page 33: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

schema first vs.

flexibility

segunda-feira, 7 de novembro de 2011

Page 34: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

Eventually Consistent

ref: Eventually Consistent por Werner Vogelssegunda-feira, 7 de novembro de 2011

Page 35: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

Consistência em Momento

Indeterminado

@mdedianasegunda-feira, 7 de novembro de 2011

Page 36: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

BASE

ref: BASE: an Acid Alternative por Dan Pritchettsegunda-feira, 7 de novembro de 2011

Page 37: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

BASE

asicallyvailableoft Stateeventually Consistent

segunda-feira, 7 de novembro de 2011

Page 38: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

jogo de palavras

relaxamento das regras

segunda-feira, 7 de novembro de 2011

Page 39: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

estado de fluxo

segunda-feira, 7 de novembro de 2011

Page 40: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

durabilidade

ref: The End of an Architectural Era por Michael Stonebraker & al.segunda-feira, 7 de novembro de 2011

Page 41: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

GRID

segunda-feira, 7 de novembro de 2011

Page 42: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

FAULT TOLERANCE

segunda-feira, 7 de novembro de 2011

Page 43: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

apps & db

segunda-feira, 7 de novembro de 2011

Page 44: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

cada escolha uma

renúncia

segunda-feira, 7 de novembro de 2011

Page 45: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

padrões

segunda-feira, 7 de novembro de 2011

Page 46: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

how-to

segunda-feira, 7 de novembro de 2011

Page 47: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

segunda-feira, 7 de novembro de 2011

Page 48: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

acid

segunda-feira, 7 de novembro de 2011

Page 49: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

(segunda-feira, 7 de novembro de 2011

Page 50: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

existe nosqlacid

segunda-feira, 7 de novembro de 2011

Page 51: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

)segunda-feira, 7 de novembro de 2011

Page 52: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

MINDSET

segunda-feira, 7 de novembro de 2011

Page 53: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

NoSQLSQL

durabilidade

dsl comum

triggers

chave estrangeira

chave composta

transação

2 phase commit

flexibilidadegrafos

k-v store

escalabilidade

commodity hard.

RAM

distributed

documento

relacional

padrões

api`ssegunda-feira, 7 de novembro de 2011

Page 54: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

NoSQLSQL

durabilidade

dsl comum

triggers

chave estrangeira

chave composta

transação

2 phase commit

flexibilidadegrafos

k-v store

escalabilidade

commodity hard.

RAM

distributed

documento

relacional

padrões

api`ssegunda-feira, 7 de novembro de 2011

Page 55: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

dsl comum

escalabilidade

commodity hard.

RAM

distributed

relacional

padrões

NewSQL

segunda-feira, 7 de novembro de 2011

Page 56: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

ferramentassegunda-feira, 7 de novembro de 2011

Page 57: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

noSQL

segunda-feira, 7 de novembro de 2011

Page 58: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

key-value columnfamily

document graph

segunda-feira, 7 de novembro de 2011

Page 59: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

grid

segunda-feira, 7 de novembro de 2011

Page 60: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

segunda-feira, 7 de novembro de 2011

Page 61: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

newSQL

segunda-feira, 7 de novembro de 2011

Page 62: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

segunda-feira, 7 de novembro de 2011

Page 63: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

segunda-feira, 7 de novembro de 2011

Page 64: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

O[?]M & UnQLUnstructured Query LanguageObject/[?] Mapping

segunda-feira, 7 de novembro de 2011

Page 65: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

1970 2000

30anos

segunda-feira, 7 de novembro de 2011

Page 66: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

2008 2011

anos3segunda-feira, 7 de novembro de 2011

Page 67: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

Perguntas?

segunda-feira, 7 de novembro de 2011

Page 68: DevinVale:  SQL, noSQL ou newSQL - Onde armazenar meus dados?

segunda-feira, 7 de novembro de 2011


Recommended