cassandra - guia de sobrevivência

Post on 24-Jan-2015

141 Views

Category:

Technology

8 Downloads

Preview:

Click to see full reader

DESCRIPTION

Meetup em SP - out/2014

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

Obrigada!

hannelita@gmail.com

@hannelita

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