Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cassandra - Guia de Sobrevivência

83a8147c3c83c22e1e421c3420e768f9?s=47 hannelita
October 10, 2014

Cassandra - Guia de Sobrevivência

Meetup em SP - outubro 2014

83a8147c3c83c22e1e421c3420e768f9?s=128

hannelita

October 10, 2014
Tweet

More Decks by hannelita

Other Decks in Technology

Transcript

  1. Cassandra Guia de Sobrevivência!

  2. Oi! ! • Hanneli (‘H' mudo) - @hannelita • Software

    Developer @ CodeMiner 42 • Café, Pokémon, Lego e bichos <3 HIRING
  3. 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!
  4. 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….
  5. 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
  6. Quem nunca… O que os clientes estão fazendo agora?

  7. Agora Agora != 20 min atrás Agora != 15 min

    atrás Agora != 5 min atrás Agora != 1 min atrás
  8. Desenvolvimento Mobile

  9. 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?
  10. Agora Preciso gerar um relatório sobre o AGORA

  11. Agora Mas AGORA está acontecendo muita coisa.

  12. Relatórios Para gerar um relatório, preciso salvar informações.

  13. Quero analisar meu aplicativo. Quero gerenciar as ações ! realizadas

    em todas as telas para todas as features. Aplicativo Feature Tela 1 Tela 2 Info Info Info Info
  14. Salvar -> Persistência Qual a primeira forma de armazenamento que

    vemos ! na disciplina de Banco de Dados?
  15. Encaixe isso em tabelas Aplicativo Feature Tela 1 Tela 2

    Info Info Info Info
  16. Encaixe isso em tabelas

  17. Encaixe isso em tabelas E se eu quiser monitorar vários

    aplicativos e a! interação entre eles?
  18. Encaixe isso em tabelas E se eu tiver muitas features

    com muitas telas?
  19. Como monitoro o ‘AGORA’? Tem informação demais! O MySQL aguenta?

  20. Como monitoro o ‘AGORA’? Tem informação demais! O MySQL aguenta?

  21. Tempo Quanto tempo vai demorar para fazer as consultas?

  22. Tempo Como monitoramos o ‘agora’ se a query demorar! 5

    minutos?
  23. Modelo Relacional #Fail

  24. Até é uma tabela Aplicativo Feature Tela 1 Tela 2

    Info Info Info Info
  25. MAS • Não Normalizada • Uma ‘tabela complexa’ • Muitas

    informações nessa mesma tabela
  26. Comportamento de KV em 'Tabelão'

  27. Onde usar? • Monitoramento Real Time • Sistemas de recomendação

    • Sistemas com informações distribuídas em muitos servidores
  28. Quando não usar? • Quando há pouca informação • Você

    realmente precisa de KV + Tabela? • Time não concorda
  29. Obrigada! hannelita@gmail.com @hannelita

  30. 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/