69
NoSQL NewSQL onde armazenar meus dados? SQL segunda-feira, 7 de novembro de 2011

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

Embed Size (px)

DESCRIPTION

Nos últimos 30 anos tem-se vivido a hegemonia dos bancos de dados relacionais, a grande bala de prata da TI. No entanto, em 2009 surgiu o movimento noSQL que além de trazer novas opções de ferramentas e modelos de dados, criou uma nova escola de pensamento. Esta nova escola tem exercido forte influência nos tradicionais bancos de dados relacionais, emergindo uma nova classe de ferramentas, chamada NewSQL.Esta palestra irá apresentar as diferenças e similaridades entre SQL, NoSQL e NewSQL.

Citation preview

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