Cassandra - Guia de Sobrevivência
Post on 24-Jan-2015
141 Views
Preview:
DESCRIPTION
Transcript
Cassandra
Guia de Sobrevivência!
Oi!
!
• Hanneli (‘H' mudo) - @hannelita
• Software Developer @ CodeMiner 42
• Café, Pokémon, Lego e bichos <3HIR
ING
Por que um meetup sobre Cassandra?
!
• NoSQL
• Muitos casos de uso interessantes
• Muitos casos de uso não muito apropriados que causam discussões fervorosas!
O que *NÃO* vamos ver aqui
• Tutorial básico de instalação e comandos do Cassandra
• Vending do DataStax
• Flame war com outros bancos
• Conceitos monótonos zzzz….
O que *vamos* ver aqui
• Por que NoSQL?
• Casos de uso interessantes para o Cassandra
• Casos de uso não interessantes
• Próximos meetups!
• Brindes
• GIFs e imagens legais
Quem nunca…
O que os clientes estão
fazendo agora?
Agora
Agora != 20 min atrásAgora != 15 min atrásAgora != 5 min atrásAgora != 1 min atrás
Desenvolvimento Mobile
Agora
Será que alguém encontrou algum bug?Será que alguém gostou de uma feature?
Será que alguém vai me dar rate na AppStore?Será que alguém está achando meu app uma droga?
Agora
Preciso gerar um relatório sobre o AGORA
Agora
Mas AGORA está acontecendo muita coisa.
Relatórios
Para gerar um relatório, preciso salvar informações.
Quero analisar meu aplicativo.
Quero gerenciar as ações !realizadas em todas as telas para todas as features.
AplicativoFeature
Tela 1
Tela 2
Info Info
Info Info
Salvar -> Persistência
Qual a primeira forma de armazenamento que vemos !na disciplina de Banco de Dados?
Encaixe isso em tabelas
AplicativoFeature
Tela 1
Tela 2
Info Info
Info Info
Encaixe isso em tabelas
Encaixe isso em tabelas
E se eu quiser monitorar vários aplicativos e a!interação entre eles?
Encaixe isso em tabelas
E se eu tiver muitas features com muitas telas?
Como monitoro o ‘AGORA’?
Tem informação demais! O MySQL aguenta?
Como monitoro o ‘AGORA’?
Tem informação demais! O MySQL aguenta?
Tempo
Quanto tempo vai demorar para fazer as consultas?
Tempo
Como monitoramos o ‘agora’ se a query demorar!5 minutos?
Modelo Relacional
#Fail
Até é uma tabela
AplicativoFeature
Tela 1
Tela 2
Info Info
Info Info
MAS
• Não Normalizada
• Uma ‘tabela complexa’
• Muitas informações nessa mesma tabela
Comportamento de KV em 'Tabelão'
Onde usar?
• Monitoramento Real Time
• Sistemas de recomendação
• Sistemas com informações distribuídas em muitos servidores
Quando não usar?
• Quando há pouca informação
• Você realmente precisa de KV + Tabela?
• Time não concorda
Referências
• http://www.slideshare.net/jericevans/cassandra-explained
• http://www.slideshare.net/rbranson/cassandra-at-instagram-aug-2013
• http://www.slideshare.net/jeromatron/big-databudapest
• http://www.slideshare.net/SwissHUG/a-real-life-project-using-cassandra-at-a-large-swiss-telco-operator
• http://www.slideshare.net/StampedeCon/a-picture-of-cassandra-in-the-real-world-stampedecon-2014
• http://planetcassandra.org/mongodb-to-cassandra-migration/
top related