NoSQL com Cassandra

4,169 views

Published on

Apresentação do professor Fernando Masanori para o 1º Encontro do JUG Vale sobre o banco de dados NoSQL Cassandra.

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,169
On SlideShare
0
From Embeds
0
Number of Embeds
706
Actions
Shares
0
Downloads
89
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

NoSQL com Cassandra

  1. 1. Cassandra NoSQL fmasanori@gmail.com 17 de março de 2012 slideshare.net/fmasanori
  2. 2. • Eu, vocês e Java• Motivação• Big Data e NoSQL• Cassandra• Hello World: Cassandra• Pentaho• Hello World: Pentaho + Cassandra• Perguntas e sugestões
  3. 3. • Computação IME-USP e Mestrado ITA• ed e lint Cobra Tecnologia• Credicard Mastercard – sistema autorização• PriceWaterhouseCoopers• Itaú BankBoston• Docente FATEC: algoritmos, estrutura de dados, data warehouse, tópicos avançados em bancos de dados• Interesses: Python, Data Warehouse, NoSQL, Pentaho, Google Technology, Facebook
  4. 4. Vocês• Estudantes• Professores• Desenvolvedores Java• Sabe quem é Sang Shin• Sun Tech Days/ Java One• NoSQL• Cassandra• Pentaho
  5. 5. Job Trends (indeed.com)
  6. 6. Job Trends (indeed.com)
  7. 7. Big Data
  8. 8. Big Data• 2720 exabytes serão criados em 2012• 1 exabyte = 1 bilhão de gigabytes• Mais bytes que estrelas no universo• Twitter: 230M tweets/dia• YouTube: upload de 1 hora de vídeo/seg• Drowning in numbers (The Economist)
  9. 9. Novas arquiteturas são necessárias
  10. 10. Escalabilidade vertical• Escalabilidade para leituras num banco relacional é trabalhoso• Escalabilidade para escritas num banco relacional é virtualmente impossível (e caso você consiga ele deixou de ser relacional...)
  11. 11. Escalabilidade vertical
  12. 12. Escalabilidade horizontal
  13. 13. Escalabilidade horizontal
  14. 14. Dois artigos famosos• Bigtable: A distributed storage system for structured data, 2006• Dynamo: Amazon’s highly available key- value store, 2007
  15. 15. Apache Hadoop
  16. 16. Not Only SQLMas BDs não relacionais são antigos...
  17. 17. Qual o problema com bancos de dados relacionais?“If I had asked people what they wanted, they would have said faster horses”. Henry Ford.
  18. 18. Escalabilidade + ACID = digestão difícil
  19. 19. BASE = ajuda na digestãoBasically Available Soft State Eventually Consistent
  20. 20. Eventually Consistent “Eventual” pt-br: pode não ocorrer“Eventual” inglês: irá ocorrer em breve
  21. 21. Teorema CAP• Consistency: – Todos os clientes enxergam os mesmos dados – Consistência tradicional (ACID) – Consistência eventual (BASE)• Availability• Partition tolerance• Não mais que 2 dos 3 requisitos (E. Brewer, S. Gilbert, N. Lynch)
  22. 22. Not Only SQL
  23. 23. Difíceis de comparar
  24. 24. Cassandra: • Distribuído • Tolerante à falhas • Escalável • Orientado a colunas
  25. 25. Bigtable, 2006 Dynamo, 2007Open Source, 2008 Apache, 2009 Cassandra, 2010
  26. 26. Cassandra vs MySQL (50GB)MySQL: ~300ms write ~350ms readCassandra: ~0.12ms write ~15ms read
  27. 27. Hello World
  28. 28. Hello World CassandraDownload DataStax Community EditionouDownload Apache Cassandra./cassandra./cassandra-cli –h localhost –p 9160Conflitos: cassandra.bat (windows) /etc/cassandra/cassandra-env.sh (ubuntu)Obs.: necessário Oracle Sun Java
  29. 29. Hello World Cassandracreate keyspace jugvale;use jugvale;create column family demo;set demo[0][0] = utf8(‘fernando’);set demo[0][1] = utf8(‘masanori’);get demo[0];del demo[0];exit;
  30. 30. Hello World Cassandra• Clientes Cassandra: Java, PHP, Python, Ruby...• CQL (Cassandra Query Language)• Pentaho Data Integration
  31. 31. • Analytics no mercado mundial, Gartner:• 2009: +3.8 %• 2010: +13.4%• América Latina:• 2010: +19.5%
  32. 32. Operacional x Analítico Operacional AnalíticoPropósito Executar um processo Avaliar um processoEstilo interação Insert, update, delete, query Query (read-only)Escopo interação Transação individual AgregaçãoPadrão query Previsível e estável ImprevisívelFoco temporal Atual Histórico e atualOtimização Update concorrente Query (agregação)Projeto ER na 3FN Star Schema ou Cubo (Adamson, 2010)
  33. 33. Banco Relacional Tradicional (Timo Elliott, SAP)
  34. 34. Banco Colunar (Timo Elliott, SAP)
  35. 35. Hello World: Pentaho + Cassandra
  36. 36. Hello World: Pentaho + Cassandra• Gravar dados no Cassandra• Ler dados do Cassandra• Criar um relatório a partir do Cassandra• Vídeos curtos incluídos nos links acima
  37. 37. Créditos• Jonathan Ellis (DataStax), vários slides• Timo Elliott (SAP), tetris colunar• ADAMSON, C., Star Schema, The Complete Reference, McGrawHill, 2010.
  38. 38. Outros tópicos• NewSQL• The End of an Architectural Era, M. Stonebraker et al., VLDB 2007• Polyglot Persistence (Martin Fowler)
  39. 39. Perguntas ou sugestões? fmasanori@gmail.com facebook.com/fmasanori twitter.com/fmasanori

×