SlideShare uma empresa Scribd logo
1 de 46
Baixar para ler offline
Cassandra NoSQL
  fmasanori@gmail.com
    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...
Qual o problema com bancos de
         dados relacionais?

“If I had asked people what they wanted, they
                would have said faster horses”.
                                    Henry Ford.
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)
Perguntas ou sugestões?
   fmasanori@gmail.com
  facebook.com/fmasanori
   twitter.com/fmasanori

Mais conteúdo relacionado

Mais procurados

Mais procurados (17)

Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15
 
NOSQL uma breve introdução
NOSQL uma breve introduçãoNOSQL uma breve introdução
NOSQL uma breve introdução
 
Estudo comparativo entr bancos RDBMS, NoSQL e NewSQL
Estudo comparativo entr bancos RDBMS, NoSQL e NewSQLEstudo comparativo entr bancos RDBMS, NoSQL e NewSQL
Estudo comparativo entr bancos RDBMS, NoSQL e NewSQL
 
Introdução ao NoSql
Introdução ao NoSqlIntrodução ao NoSql
Introdução ao NoSql
 
Escalabilidade, as modas, (No)SQL
Escalabilidade, as modas, (No)SQLEscalabilidade, as modas, (No)SQL
Escalabilidade, as modas, (No)SQL
 
Bancos de dados NoSQL (Not only sql)
Bancos de dados NoSQL (Not only sql)Bancos de dados NoSQL (Not only sql)
Bancos de dados NoSQL (Not only sql)
 
Banco de dados nas nuvens - aula 2
Banco de dados nas nuvens - aula 2Banco de dados nas nuvens - aula 2
Banco de dados nas nuvens - aula 2
 
Banco de dados nas nuvens - aula 1
Banco de dados nas nuvens - aula 1Banco de dados nas nuvens - aula 1
Banco de dados nas nuvens - aula 1
 
Banco de dados nas nuvens - aula 3
Banco de dados nas nuvens - aula 3Banco de dados nas nuvens - aula 3
Banco de dados nas nuvens - aula 3
 
Bancos de dados nosql (not only sql)
Bancos de dados nosql (not only sql)Bancos de dados nosql (not only sql)
Bancos de dados nosql (not only sql)
 
Tirando leite de pedra
Tirando leite de pedraTirando leite de pedra
Tirando leite de pedra
 
Modelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência PoliglotaModelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência Poliglota
 
2012 - Veris - DBA Career and Oracle Database
2012 - Veris - DBA Career and Oracle Database2012 - Veris - DBA Career and Oracle Database
2012 - Veris - DBA Career and Oracle Database
 
Performance Codificando Night Week 2016
Performance Codificando Night Week 2016Performance Codificando Night Week 2016
Performance Codificando Night Week 2016
 
Introdução no sql mongodb java
Introdução no sql mongodb javaIntrodução no sql mongodb java
Introdução no sql mongodb java
 
Banco de Dados NoSQL - Disciplina: Sistemas Distribuídos
Banco de Dados NoSQL - Disciplina: Sistemas DistribuídosBanco de Dados NoSQL - Disciplina: Sistemas Distribuídos
Banco de Dados NoSQL - Disciplina: Sistemas Distribuídos
 
Bancos de dados NoSQL
Bancos de dados NoSQLBancos de dados NoSQL
Bancos de dados NoSQL
 

Semelhante a Cassandra NoSQL JUG Vale 2012

Processos iniciais do mapeamento OR
Processos iniciais do mapeamento ORProcessos iniciais do mapeamento OR
Processos iniciais do mapeamento OR
Nécio de Lima Veras
 

Semelhante a Cassandra NoSQL JUG Vale 2012 (20)

Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
 
MAC5855 - NoSQL
MAC5855 - NoSQLMAC5855 - NoSQL
MAC5855 - NoSQL
 
Processos iniciais do mapeamento OR
Processos iniciais do mapeamento ORProcessos iniciais do mapeamento OR
Processos iniciais do mapeamento OR
 
NoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPNoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAP
 
Projeto Octopus - Database Sharding para ActiveRecord
Projeto Octopus - Database Sharding para ActiveRecordProjeto Octopus - Database Sharding para ActiveRecord
Projeto Octopus - Database Sharding para ActiveRecord
 
Bigadata casese opotunidades
Bigadata casese opotunidadesBigadata casese opotunidades
Bigadata casese opotunidades
 
Escalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuariosEscalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuarios
 
NoSQL: Perdas e Ganhos
NoSQL: Perdas e GanhosNoSQL: Perdas e Ganhos
NoSQL: Perdas e Ganhos
 
Inovacao em-escala-final
Inovacao em-escala-finalInovacao em-escala-final
Inovacao em-escala-final
 
NoSQL Livre
NoSQL LivreNoSQL Livre
NoSQL Livre
 
Artigo Nosql
Artigo NosqlArtigo Nosql
Artigo Nosql
 
Pepe Legal Python e Babalu MongoDB, uma dupla dinâmica
Pepe Legal Python e Babalu MongoDB, uma dupla dinâmicaPepe Legal Python e Babalu MongoDB, uma dupla dinâmica
Pepe Legal Python e Babalu MongoDB, uma dupla dinâmica
 
Benchmark LucidDB x MySQL para aplicações de Business Intelligence
Benchmark LucidDB x MySQL para aplicações de Business IntelligenceBenchmark LucidDB x MySQL para aplicações de Business Intelligence
Benchmark LucidDB x MySQL para aplicações de Business Intelligence
 
Webinar: Introdução a Big data
Webinar: Introdução a Big dataWebinar: Introdução a Big data
Webinar: Introdução a Big data
 
MySQL do ISAM ao NoSQL
MySQL do ISAM ao NoSQLMySQL do ISAM ao NoSQL
MySQL do ISAM ao NoSQL
 
I nd t_bigdata(1)
I nd t_bigdata(1)I nd t_bigdata(1)
I nd t_bigdata(1)
 
Internet sem drama
Internet sem dramaInternet sem drama
Internet sem drama
 
Apresentação
ApresentaçãoApresentação
Apresentação
 
MySQL no Windows: implementação eficiente de novas aplicações
MySQL no Windows: implementação eficiente de novas aplicaçõesMySQL no Windows: implementação eficiente de novas aplicações
MySQL no Windows: implementação eficiente de novas aplicações
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documento
 

Mais de FATEC São José dos Campos

Lista de exercícios III Desafios python para zumbis
Lista de exercícios III Desafios python para zumbisLista de exercícios III Desafios python para zumbis
Lista de exercícios III Desafios python para zumbis
FATEC São José dos Campos
 

Mais de FATEC São José dos Campos (20)

Seja feliz programando em python
Seja feliz programando em pythonSeja feliz programando em python
Seja feliz programando em python
 
import pybr12: experiencias de inclusión en la última PyCon Brazil
import pybr12: experiencias de inclusión en la última PyCon Brazilimport pybr12: experiencias de inclusión en la última PyCon Brazil
import pybr12: experiencias de inclusión en la última PyCon Brazil
 
Import community pycon jp
Import community pycon jpImport community pycon jp
Import community pycon jp
 
Import community
Import communityImport community
Import community
 
Diversidade na Comunidade Python
Diversidade na Comunidade PythonDiversidade na Comunidade Python
Diversidade na Comunidade Python
 
Why python
Why pythonWhy python
Why python
 
Hackeando Dados públicos com python
Hackeando Dados públicos com pythonHackeando Dados públicos com python
Hackeando Dados públicos com python
 
Import community
Import communityImport community
Import community
 
Python, the next Brazilian generation
Python, the next Brazilian generationPython, the next Brazilian generation
Python, the next Brazilian generation
 
Para gostar de Python DevDay
Para gostar de Python DevDay Para gostar de Python DevDay
Para gostar de Python DevDay
 
Classic Games with Python in the browser
Classic Games with Python in the browserClassic Games with Python in the browser
Classic Games with Python in the browser
 
Exercício Programa 1 Python para Zumbis
Exercício Programa 1 Python para ZumbisExercício Programa 1 Python para Zumbis
Exercício Programa 1 Python para Zumbis
 
Lista de exercícios V python para zumbis
Lista de exercícios V python para zumbisLista de exercícios V python para zumbis
Lista de exercícios V python para zumbis
 
Lista de exercícios IV python para zumbis
Lista de exercícios IV python para zumbisLista de exercícios IV python para zumbis
Lista de exercícios IV python para zumbis
 
Lista de exercícios III Desafios python para zumbis
Lista de exercícios III Desafios python para zumbisLista de exercícios III Desafios python para zumbis
Lista de exercícios III Desafios python para zumbis
 
Lista de exercícios II python para zumbis
Lista de exercícios II python para zumbisLista de exercícios II python para zumbis
Lista de exercícios II python para zumbis
 
Lista de exercícios I python para zumbis
Lista de exercícios I python para zumbisLista de exercícios I python para zumbis
Lista de exercícios I python para zumbis
 
Lista de exercícios XIV Python para Zumbis
Lista de exercícios XIV Python para ZumbisLista de exercícios XIV Python para Zumbis
Lista de exercícios XIV Python para Zumbis
 
TWP56 DJ Mix 1
TWP56 DJ Mix 1TWP56 DJ Mix 1
TWP56 DJ Mix 1
 
TWP54 Exceções
TWP54 ExceçõesTWP54 Exceções
TWP54 Exceções
 

Último

Artigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.pptArtigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.ppt
RogrioGonalves41
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
azulassessoria9
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
Autonoma
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
TailsonSantos1
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
tatianehilda
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
marlene54545
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XV
lenapinto
 

Último (20)

3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
Artigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.pptArtigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.ppt
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
 
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdfAula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptx
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptxCópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptx
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptx
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XV
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 

Cassandra NoSQL JUG Vale 2012

  • 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)
  • 9. Novas arquiteturas são necessárias
  • 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...)
  • 14. Dois artigos famosos • Bigtable: A distributed storage system for structured data, 2006 • Dynamo: Amazon’s highly available key- value store, 2007
  • 16.
  • 17. Not Only SQL Mas BDs não relacionais são antigos...
  • 18. Qual o problema com bancos de dados relacionais? “If I had asked people what they wanted, they would have said faster horses”. Henry Ford.
  • 19. Escalabilidade + ACID = digestão difícil
  • 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)
  • 25.
  • 26. Cassandra: • Distribuído • Tolerante à falhas • Escalável • Orientado a colunas
  • 27. Bigtable, 2006 Dynamo, 2007 Open Source, 2008 Apache, 2009 Cassandra, 2010
  • 28.
  • 29. Cassandra vs MySQL (50GB) MySQL: ~300ms write ~350ms read Cassandra: ~0.12ms write ~15ms read
  • 30.
  • 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)
  • 38. Banco Relacional Tradicional (Timo Elliott, SAP)
  • 39. Banco Colunar (Timo Elliott, SAP)
  • 40. Hello World: Pentaho + Cassandra
  • 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)
  • 46. Perguntas ou sugestões? fmasanori@gmail.com facebook.com/fmasanori twitter.com/fmasanori