introdução ao nosql com java (cassandra)
Post on 25-May-2015
603 Views
Preview:
DESCRIPTION
TRANSCRIPT
Introdução ao NOSQL com Java
Otávio Santana@otaviojavahttps://github.com/otaviojava/http://about.me/otaviojava
Cassandra Trip BrasilCassandra em Cinco Cidades
Data: 2 de setembro, Segunda-FeiraCidade: Campinas
Data: 3 de setembro, Terça-FeiraCidade: São Paulo
Data: 3 de setembro, Terça-FeiraCidade: Online
Data: 4 de setembro, Quarta-FeiraCidade: Florianópolis
Data: 5 de setembro, Quinta-FeiraCidade: Brasília
Data: 6 de setembro, Sexta-FeiraCidade: Salvador
Cassandra Trip BrasilCassandra em Cinco CidadesLink: http://goo.gl/wbjQyzData: 2 de setembro, Segunda-FeiraCidade: Campinas
Data: 3 de setembro, Terça-FeiraCidade: São Paulo
Data: 3 de setembro, Terça-FeiraCidade: Online
Data: 4 de setembro, Quarta-FeiraCidade: Florianópolis
Data: 5 de setembro, Quinta-FeiraCidade: Brasília
Data: 6 de setembro, Sexta-FeiraCidade: Salvador
Cassandra Brasil
Planeta CassandraCassandra Brasil Google GroupsCassandra Brasil LinkedinCassandra Trip Brasil
AgendaLembrando o passadoNOSQLNOSQL – DefiniçõesRelacional vs NOSQLCassandraArquiteturaHierarquiaNível de consistênciaModelagemExemplo(Spring e CDI Weld)
Relacional
Modelagem: 1970 Configuração aprox: 16kb RAM 800kb armazenamento
NOSQL
Não apenas SQLConhecer o melhor dos dois mundosUso específico
A.C.I.D. vs B.A.S.E
AtomicidadeConsistênciaIsolamentoDurabilidade
Basicamente AvaliadoSoft-stateEventualmente persistente
SQL vs NOSQLDriverSQL ANSITransaçãoAlto custo de IOFácil troca de BancoRelacionamento
APINão padronizadoNão TransaçãoBusca por chaveDifícil troca de BancoNão relacionamento
Classificação
Arquitetura Armazenamento Estrutura Dados
Chave-ValorDocumentosGrafoFamília de Colunas
CassandraDistribuídaConfigurávelFamília de Colunas
CassandraGossipNível de consistênciaLeitura e Escrita
ANYONELOCAL_QUORUMEACH_QOURUMALL
Disponibilidade
Consistência
Modelagem
TwittSandra
Usuários Seguidores Seguidos
User Line TimeLine Tweets
Column Family Usuários
alice nome : Allison senha : *
bob nome : Roberto senha : *
eve nome : Evelyn senha : *
chuck nome : Carlos senha : * site : datastax.com
Usuários
Column Family Followers
alice bob : mallory : trent :
Seguidores
Column Family Following
alice bob : carlos : david :
Seguidos
Column Family UserLine
alice 125695372 : AXML 126695372 : XCVL 127695372 : XENY
bob 125795372 : SDFG 126895372 : XCVN
eve 125694372 : FDHL
arthur 125600000 : AXML 125800000 : XCVL 127900000 : XENY
Twettes do usuário
Column Family Timeline
bob 125795372 : SDFG 126895372 : XCVN
eve 1279900000 : FDHL
arthur 125600000 : AXML 125800000 : XCVL 127900000 : XENY
alice 125795372 : SDFG 125800000 : XCVL 1279900000 : FDHL
TimeLine
Column Family: Tweets
LMNO timestamp : 175695372
corpo : estou tão equivicado? user : carlos
AXML timestamp : 125695372
corpo: recebeu a minha mensagem? user : alice
DEXDL timestamp : 155695372
corpo: ouvi o que diz. user : eve
BADFO timestamp : 135695372
corpo : manda-me a senha.
user : mallory
Tweets
Column Family: UserLine
bob 127695372 : XENY126695372 : XCVL 200000000 : LUMP
Column Family: TimeLine
alice 125795372 : SDFG 125800000 : XCVL 1279900000 : FDHL 200000000 : LUMP
125695372 : AXML
bob 125795372 : SDFG 126895372 : XCVN 200000000 : LUMP
eve1279900000 : FDHL 200000000 : LUMP
UserLine e TimeLine
Exemplo
Integração
http://otaviojava.github.io/Easy-Cassandra/
Obrigado
Otávio Santana@otaviojavahttps://github.com/otaviojava/http://about.me/otaviojava
top related