Cassandra NoSQL JUG Vale 2012
-
Upload
fernando-masanori -
Category
Education
-
view
1.813 -
download
2
description
Transcript of Cassandra NoSQL JUG Vale 2012
Cassandra NoSQL [email protected] 17 de março de 2012
slideshare.net/fmasanori
• Eu, vocês e Java
• Motivação
• Big Data e NoSQL
• Cassandra
• Hello World: Cassandra
• Pentaho
• Hello World: Pentaho + Cassandra
• Perguntas e sugestões
• 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
Vocês • Estudantes
• Professores
• Desenvolvedores Java
• Sabe quem é Sang Shin
• Sun Tech Days/ Java One
• NoSQL
• Cassandra
• Pentaho
Job Trends (indeed.com)
Job Trends (indeed.com)
Big Data
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)
Novas arquiteturas são necessárias
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...)
Escalabilidade vertical
Escalabilidade horizontal
Escalabilidade horizontal
Dois artigos famosos
• Bigtable: A distributed storage system for structured data, 2006
• Dynamo: Amazon’s highly available key-value store, 2007
Apache Hadoop
Not Only SQL
Mas BDs não relacionais são antigos...
“If I had asked people what they wanted, they would have said faster horses”.
Henry Ford.
Qual o problema com bancos de dados relacionais?
Escalabilidade + ACID = digestão difícil
BASE = ajuda na digestão
Basically Available Soft State Eventually Consistent
Eventually Consistent
“Eventual” pt-br: pode não ocorrer
“Eventual” inglês: irá ocorrer em breve
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)
Not Only SQL
Difíceis de comparar
Cassandra: • Distribuído • Tolerante à falhas • Escalável • Orientado a colunas
Bigtable, 2006 Dynamo, 2007
Open Source, 2008
Apache, 2009 Cassandra, 2010
Cassandra vs MySQL (50GB)
MySQL:
~300ms write
~350ms read
Cassandra:
~0.12ms write
~15ms read
Hello World
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
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;
Hello World Cassandra
• Clientes Cassandra: Java, PHP, Python, Ruby...
• CQL (Cassandra Query Language)
• Pentaho Data Integration
• Analytics no mercado mundial, Gartner:
• 2009: +3.8 %
• 2010: +13.4%
• América Latina:
• 2010: +19.5%
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)
Banco Relacional Tradicional
(Timo Elliott, SAP)
Banco Colunar
(Timo Elliott, SAP)
Hello World: Pentaho + Cassandra
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
Créditos
• Jonathan Ellis (DataStax), vários slides
• Timo Elliott (SAP), tetris colunar
• ADAMSON, C., Star Schema, The Complete Reference, McGrawHill, 2010.
Outros tópicos
• NewSQL
• The End of an Architectural Era, M. Stonebraker et al., VLDB 2007
• Polyglot Persistence (Martin Fowler)