Estudo de caso: Apache Cassandra

Conceitos de NoSQL

Miriam Antona

Software engineer

Apache Cassandra - visão geral

Logotipo do Apache Cassandra

  • Banco de dados popular de família de colunas
  • Desenvolvido originalmente pelo Facebook
  • Open-source
  • Tornou-se projeto da Apache Foundation
Conceitos de NoSQL

Apache Cassandra - recursos

  • Distribuído
    • Dados distribuídos entre os nós do cluster
    • Todo nó tem o mesmo papel
    • Sem nó mestre
  • Alta disponibilidade
  • Sem ponto único de falha
  • Escala horizontalmente adicionando nós
  • Clientes (drivers) Cassandra: C#, Java, Python, Scala, etc.
Conceitos de NoSQL

Apache Cassandra - recursos

  • Cassandra Query Language (CQL)
    • Consultar dados
    • Sintaxe semelhante a SQL
    • Tabelas (para famílias de colunas), linhas e colunas
    • Diferenças entre CQL e SQL:
      • sem joins
      • sem chaves estrangeiras
      • sem subconsultas, etc.
      • linhas podem ter quantidades diferentes de colunas
SELECT * FROM users WHERE user_id IN (212, 213, 214);
Conceitos de NoSQL

Apache Cassandra - ecossistema

  • Projetos, ferramentas, produtos e serviços third-party para Cassandra
    • Ofertas em nuvem
    • Ferramentas de instalação
    • Frameworks de desenvolvimento
    • Conectores
    • etc.
Conceitos de NoSQL

Apache Cassandra - clientes

Logotipos de alguns clientes do Apache Cassandra

Conceitos de NoSQL

Estudo de caso Bigmate - visão geral

  • Rastreamento de localização
  • Sensor industrial
  • Produtividade

Logotipo da Bigmate

Conceitos de NoSQL

Estudo de caso Bigmate - problema e solução

  • Plataforma de IoT:
    • Ingere e processa grandes volumes de dados diversos
    • Integrar sensores IoT, dispositivos e outras plataformas
    • Processar dados em tempo real
    • Escalar e implantar em múltiplas localidades
    • Exemplos de apps:
      • Thermy -> captura a temperatura da pele
      • Warny -> detecta possíveis colisões
  • Testou MySQL, MongoDB, Apache Cassandra, etc.
    • Escolheu Apache Cassandra
    • Escalou melhor
Conceitos de NoSQL

Estudo de caso Bigmate - resultados

  • Milhões de operações com usuários concorrentes
  • Exibir 20.000 pontos de dados em tempo real para um único cliente
  • Tolerância a falhas (replicação de dados)
Conceitos de NoSQL

Estudo de caso Bigmate - resultados

  • Milhões de operações com usuários concorrentes
  • Exibir 20.000 pontos de dados em tempo real para um único cliente
  • Tolerância a falhas (replicação de dados)
1 https://cassandra.apache.org/case-studies/
Conceitos de NoSQL

Vamos praticar!

Conceitos de NoSQL

Preparing Video For Download...