53
NoSQL NewSQL onde armazenar meus dados? SQL quinta-feira, 30 de junho de 2011

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