O documento apresenta Cassandra NoSQL, discutindo Big Data, arquiteturas de bancos de dados não relacionais e a necessidade de escalabilidade. Apresenta Cassandra, seu funcionamento, vantagens sobre bancos relacionais e exemplos simples de uso com Pentaho.
1. Cassandra NoSQL
fmasanori@gmail.com
17 de março de 2012
slideshare.net/fmasanori
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. • 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. Vocês
• Estudantes
• Professores
• Desenvolvedores Java
• Sabe quem é Sang Shin
• Sun Tech Days/ Java One
• NoSQL
• Cassandra
• Pentaho
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)
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...)
20. BASE = ajuda na digestão
Basically Available Soft State Eventually Consistent
21. Eventually Consistent
“Eventual” pt-br: pode não ocorrer
“Eventual” inglês: irá ocorrer em breve
22. 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)
32. Hello World Cassandra
Download DataStax Community Edition
ou
Download Apache Cassandra
./cassandra
./cassandra-cli –h localhost –p 9160
Conflitos:
cassandra.bat (windows)
/etc/cassandra/cassandra-env.sh (ubuntu)
Obs.: necessário Oracle Sun Java
33. Hello World Cassandra
create 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;
34. Hello World Cassandra
• Clientes Cassandra: Java, PHP, Python, Ruby...
• CQL (Cassandra Query Language)
• Pentaho Data Integration
35.
36. • Analytics no mercado mundial, Gartner:
• 2009: +3.8 %
• 2010: +13.4%
• América Latina:
• 2010: +19.5%
37. Operacional x Analítico
Operacional Analítico
Propósito Executar um processo Avaliar um processo
Estilo interação Insert, update, delete, query Query (read-only)
Escopo interação Transação individual Agregação
Padrão query Previsível e estável Imprevisível
Foco temporal Atual Histórico e atual
Otimização Update concorrente Query (agregação)
Projeto ER na 3FN Star Schema ou Cubo
(Adamson, 2010)
41. 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
42.
43.
44. Créditos
• Jonathan Ellis (DataStax), vários slides
• Timo Elliott (SAP), tetris colunar
• ADAMSON, C., Star Schema, The Complete
Reference, McGrawHill, 2010.
45. Outros tópicos
• NewSQL
• The End of an Architectural Era, M.
Stonebraker et al., VLDB 2007
• Polyglot Persistence (Martin Fowler)