Conhecendo Apache Meetup... Eiti Kimura Coordenador de TI na Movile - Apache Cassandra MVP 2015 -...

Click here to load reader

  • date post

    12-Sep-2020
  • Category

    Documents

  • view

    2
  • download

    0

Embed Size (px)

Transcript of Conhecendo Apache Meetup... Eiti Kimura Coordenador de TI na Movile - Apache Cassandra MVP 2015 -...

  • Conhecendo

    Apache Cassandra @Movile

    São Paulo Big Data Meetup 25.11.15 Eiti Kimura

  • Eiti Kimura Coordenador de TI na Movile

    - Apache Cassandra MVP 2015 - Apache Cassandra MVP 2014 - Contribuidor Apache Cassandra - Certificação Apache Cassandra Desenvolvedor 1.1

    Palestrante no Cassandra Summit 2015 (Santa Clara - CA)

    http://www.slideshare.net/eitikimura/cassandra-summit-2015-a-change-of-seasons

    Palestrante no Cassandra Summit 2014 (San Francisco - CA)

    https://www.youtube.com/watch?v=igmLnluGcDM

  • O que é?

  • Simples assim...

    “Banco de Dados Não Relacional, distribuído de código aberto...”

  • C* Características Distribuído e

    Descentrali zado

    Escalabilida de Elástica

    Alta disp. Tolerante a

    Falhas

    Consist. "Tunável"

    Orientado a Colunas

    Alto Desempenho

  • Escalabilidade Linear

    http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html

  • Como funciona?

  • Distribuição de dados

    Cassandra  atribui  um  valor  hash  para  cada  chave  de  par4ção  

  • 1.  A  operação  pode  ocorrer  em   qualquer  nó     2.  O  coordenador  executa  a   operação  em  diferentes  nós  e   zonas     3.  Coordenador  retorna  o  ACK   para  o  cliente     4.  Cliente  pode  escolher  o  nível   de  consistência  da  operação  

    RF = 3

  • Fluxo básico de escrita de informação no Apache Cassandra

  • Fluxo básico de leitura de informação no Apache Cassandra

  • Tolerância a Falhas

    http://www.datastax.com/dev/blog/how-cassandra-deals-with-replica-failure

  • Como pode ser usado?

  • Casos de Uso Típicos

    Playlists e Coleções de dados Spotify

    Sistema de Recomendação e Personalização

    Mensageria

    Detecção de Fraude

    Catálogos Multi-idiomas

    Processamento de Dados de sensores

  • Um pouco sobre como usamos na Movile

    -  Controle de assinaturas de usuários -  Controle de regras de tarifação -  Registro de eventos de usuários em apps -  Sistema de Matcher de mensagens -  E mais...

  • Arquitetura Inicial da Plataforma

    API

    DB

    API

    DB

    API

    API

    API

    API

    API

  • Nova arquitetura

    API API

    API API

    API API

    API API

    API API

    Other

  • Vantagens da Nova Solução

    - problemas de desempenho: resolvido - problemas de disponibilidade: resolvido - aumento significante da capacidade de

    leitura e escrita

  • Lições Aprendidas: O que deu errado

    -  Converter diretamente o modelo de dados relacional -  Usar ferramenta como Cache -  Executar junção do lado do cliente (anti-pattern: client-

    side join) -  Recriar uma tabela com o mesmo nome (Column

    Family Reincarnation) -  Adicionar vários nós paralelamente usando vnodes

  • Lições Aprendidas: Boas práticas

    -  Conheça os recursos de modelagem e remodele -  Evite o uso de Coleções (evitar tombstones) -  Faça prova de conceito com o modelo de dados -  Faça testes de carga sobre o modelo e número de nós -  Execute as rotinas de manuteção corretamente (repair) -  Monitore o desempenho do cluster regularmente (JMX) -  Use os drivers oficiais da Datastax

  • Onde aprender mais?

  • http://www.planetcassandra.org/try-cassandra/

  • http://academy.datastax.com/

    Grátis, totalmente prático, siga no seu ritmo

  • Links de Referência

    https://issues.apache.org/jira/browse/cassandra

    http://cassandra.apache.org/

    http://www.planetcassandra.org/apache-cassandra-mailing-lists/ User/Developer List

    Jira Issues

    Download

    Cassandra 3.0 is out! http://www.slideshare.net/JonHaddad/cassandra-30-awesomeness

  • talentos@movile.com eitikimura

    eitikimura