nosql e orm, será que dá samba?
DESCRIPTION
TRANSCRIPT
JBossInBossa 2011 - Brasilia
N SQL
Alexandre Porcelli@porcelli
ORM...
&
será que dá samba?
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
no:sql(br)/v221 e 22 de outubro
http://nosqlbrasil.com
contexto
século xxi
falta de capital
big data
história...
• 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
nosql
definição...
abaixo ao banco de
dados relacional!
abaixo ao banco de dados relacional!
como bala de prata!
momento histórico...
uma nova escola
estrutura de dados
DESNORMALIZAÇÃO
chave-valor
modelo
família de colunas
modeloKeyspace
Família de Colunas
.
.
.
chavelinha
coluna coluna coluna. . .coluna
chavelinha
coluna coluna coluna. . .coluna coluna coluna
nome valortimestamp
Coluna
documento
modelo
grafo
visão geral
arquitetura
schema first vs.
flexibility
Eventually Consistent
ref: Eventually Consistent por Werner Vogels
Consistência em Momento
Indeterminado
@mdediana
BASE
ref: BASE: an Acid Alternative por Dan Pritchett
BASE
asicallyvailableoft Stateeventually Consistent
jogo de palavras
relaxamento das regras
estado de fluxo
durabilidade
ref: The End of an Architectural Era por Michael Stonebraker & al.
GRID
FAULT TOLERANCE
apps & db
cada escolha uma
renúncia
padrões
how-to
acid
(
existe nosqlacid
)
MINDSET
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`s
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`s
dsl comum
escalabilidade
commodity hard.
RAM
distributed
relacional
padrões
NewSQL
ferramentas
noSQL
key-value columnfamily
document graph
grid
newSQL
O[?]M & UnQLUnstructured Query LanguageObject/[?] Mapping
1970 2000
30anos
2008 2011
anos3
@Entitypublic class Dog { @Id public Long getId() { return id; } public void setId(Long id) { this.id = id; } private Long id;
public String getName() { return name; } public void setName(String name) { this.name = name; } private String name;
@ManyToOne public Breed getBreed() { return breed; } public void setBreed(Breed breed) { this.breed = breed; } private Breed breed;}
HIBERNATE OGM?
cache
sessions
Perguntas?
no:sql(br)/v221 e 22 de outubro
http://nosqlbrasil.com
Obrigado
@porcelli
linkedin.com/in/alexandreporcelli
porcelli.com.br
github.com/porcelli
about.me/porcelli