Transcript
Page 1: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

NoSQL

NewSQL

onde armazenar meus dados?

SQL

quinta-feira, 30 de junho de 2011

Page 2: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

Alexandre Porcelli

Writer

Alexandre Porcelli

Organizer

Alexandre Porcelli

Commiter / Parser Developer

Alexandre Porcelli

Founder

Alexandre PorcelliAPI Designer / Developer

@porcelli

quinta-feira, 30 de junho de 2011

Page 3: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

nosql

quinta-feira, 30 de junho de 2011

Page 4: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

quinta-feira, 30 de junho de 2011

Page 5: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

uma nova escola

quinta-feira, 30 de junho de 2011

Page 6: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

história...

quinta-feira, 30 de junho de 2011

Page 7: 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

quinta-feira, 30 de junho de 2011

Page 8: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

definição...

quinta-feira, 30 de junho de 2011

Page 9: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

abaixo ao banco de

dados relacional!

quinta-feira, 30 de junho de 2011

Page 10: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

abaixo ao banco de dados relacional!

como bala de prata!

quinta-feira, 30 de junho de 2011

Page 11: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

estrutura de dados

quinta-feira, 30 de junho de 2011

Page 12: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

DESNORMALIZAÇÃO

quinta-feira, 30 de junho de 2011

Page 13: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

chave-valor

quinta-feira, 30 de junho de 2011

Page 14: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

modelo

quinta-feira, 30 de junho de 2011

Page 15: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

família de colunasquinta-feira, 30 de junho de 2011

Page 16: 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

quinta-feira, 30 de junho de 2011

Page 17: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

documento

quinta-feira, 30 de junho de 2011

Page 18: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

modelo

quinta-feira, 30 de junho de 2011

Page 19: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

grafo

quinta-feira, 30 de junho de 2011

Page 20: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

visão geral

quinta-feira, 30 de junho de 2011

Page 21: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

quinta-feira, 30 de junho de 2011

Page 22: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

quinta-feira, 30 de junho de 2011

Page 23: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

arquitetura

quinta-feira, 30 de junho de 2011

Page 24: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

Eventually Consistent

ref: Eventually Consistent por Werner Vogelsquinta-feira, 30 de junho de 2011

Page 25: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

Consistência em Momento

Indeterminado

@mdedianaquinta-feira, 30 de junho de 2011

Page 26: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

BASE

ref: BASE: an Acid Alternative por Dan Pritchettquinta-feira, 30 de junho de 2011

Page 27: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

BASE

asicallyvailableoft Stateeventually Consistent

quinta-feira, 30 de junho de 2011

Page 28: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

jogo de palavras

relaxamento das regras

quinta-feira, 30 de junho de 2011

Page 29: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

estado de fluxo

quinta-feira, 30 de junho de 2011

Page 30: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

durabilidade

ref: The End of an Architectural Era por Michael Stonebraker & al.quinta-feira, 30 de junho de 2011

Page 31: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

apps & db

quinta-feira, 30 de junho de 2011

Page 32: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

ORM

quinta-feira, 30 de junho de 2011

Page 33: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

quinta-feira, 30 de junho de 2011

Page 34: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

schema first vs.

flexibility

quinta-feira, 30 de junho de 2011

Page 35: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

quinta-feira, 30 de junho de 2011

Page 36: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

quinta-feira, 30 de junho de 2011

Page 37: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

quinta-feira, 30 de junho de 2011

Page 38: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

quinta-feira, 30 de junho de 2011

Page 39: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

big data

quinta-feira, 30 de junho de 2011

Page 40: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

FAULT TOLERANCE

quinta-feira, 30 de junho de 2011

Page 41: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

mercados tradicionais...

quinta-feira, 30 de junho de 2011

Page 42: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

MINDSET

quinta-feira, 30 de junho de 2011

Page 43: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

NoSQLSQLdurabilidade

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`squinta-feira, 30 de junho de 2011

Page 44: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

NoSQLSQLdurabilidade

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`squinta-feira, 30 de junho de 2011

Page 45: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

dsl comum

escalabilidade

commodity hard.

RAM

distributed

relacional

padrões

NewSQL

quinta-feira, 30 de junho de 2011

Page 46: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

ferramentasquinta-feira, 30 de junho de 2011

Page 47: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

noSQL

quinta-feira, 30 de junho de 2011

Page 48: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

key-value columnfamily

document graph

quinta-feira, 30 de junho de 2011

Page 49: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

newSQL

quinta-feira, 30 de junho de 2011

Page 50: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

quinta-feira, 30 de junho de 2011

Page 51: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

quinta-feira, 30 de junho de 2011

Page 52: SQL, NoSQL ou NewSQL: Onde armazenar meus dados?

Perguntas?

quinta-feira, 30 de junho de 2011