conhecendo apache cassandrafiles.meetup.com/17299362/spbigdata meetup...eiti kimura coordenador de...

27
Conhecendo Apache Cassandra @Movile São Paulo Big Data Meetup 25.11.15 Eiti Kimura

Upload: others

Post on 12-Sep-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Conhecendo Apache Cassandrafiles.meetup.com/17299362/SPBigData Meetup...Eiti Kimura Coordenador de TI na Movile - Apache Cassandra MVP 2015 - Apache Cassandra MVP 2014 - Contribuidor

Conhecendo

Apache Cassandra @Movile

São Paulo Big Data Meetup 25.11.15 Eiti Kimura

Page 2: Conhecendo Apache Cassandrafiles.meetup.com/17299362/SPBigData Meetup...Eiti Kimura Coordenador de TI na Movile - Apache Cassandra MVP 2015 - Apache Cassandra MVP 2014 - Contribuidor

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

Page 3: Conhecendo Apache Cassandrafiles.meetup.com/17299362/SPBigData Meetup...Eiti Kimura Coordenador de TI na Movile - Apache Cassandra MVP 2015 - Apache Cassandra MVP 2014 - Contribuidor

O que é?

Page 4: Conhecendo Apache Cassandrafiles.meetup.com/17299362/SPBigData Meetup...Eiti Kimura Coordenador de TI na Movile - Apache Cassandra MVP 2015 - Apache Cassandra MVP 2014 - Contribuidor

Simples assim...

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

Page 5: Conhecendo Apache Cassandrafiles.meetup.com/17299362/SPBigData Meetup...Eiti Kimura Coordenador de TI na Movile - Apache Cassandra MVP 2015 - Apache Cassandra MVP 2014 - Contribuidor
Page 6: Conhecendo Apache Cassandrafiles.meetup.com/17299362/SPBigData Meetup...Eiti Kimura Coordenador de TI na Movile - Apache Cassandra MVP 2015 - Apache Cassandra MVP 2014 - Contribuidor

C* Características Distribuído

e Descentrali

zado

Escalabilidade Elástica

Alta disp. Tolerante a

Falhas

Consist. "Tunável"

Orientado a Colunas

Alto Desempenho

Page 7: Conhecendo Apache Cassandrafiles.meetup.com/17299362/SPBigData Meetup...Eiti Kimura Coordenador de TI na Movile - Apache Cassandra MVP 2015 - Apache Cassandra MVP 2014 - Contribuidor

Escalabilidade Linear

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

Page 8: Conhecendo Apache Cassandrafiles.meetup.com/17299362/SPBigData Meetup...Eiti Kimura Coordenador de TI na Movile - Apache Cassandra MVP 2015 - Apache Cassandra MVP 2014 - Contribuidor

Como funciona?

Page 9: Conhecendo Apache Cassandrafiles.meetup.com/17299362/SPBigData Meetup...Eiti Kimura Coordenador de TI na Movile - Apache Cassandra MVP 2015 - Apache Cassandra MVP 2014 - Contribuidor

Distribuição de dados

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

Page 10: Conhecendo Apache Cassandrafiles.meetup.com/17299362/SPBigData Meetup...Eiti Kimura Coordenador de TI na Movile - Apache Cassandra MVP 2015 - Apache Cassandra MVP 2014 - Contribuidor
Page 11: Conhecendo Apache Cassandrafiles.meetup.com/17299362/SPBigData Meetup...Eiti Kimura Coordenador de TI na Movile - Apache Cassandra MVP 2015 - Apache Cassandra MVP 2014 - Contribuidor

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

Page 12: Conhecendo Apache Cassandrafiles.meetup.com/17299362/SPBigData Meetup...Eiti Kimura Coordenador de TI na Movile - Apache Cassandra MVP 2015 - Apache Cassandra MVP 2014 - Contribuidor

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

Page 13: Conhecendo Apache Cassandrafiles.meetup.com/17299362/SPBigData Meetup...Eiti Kimura Coordenador de TI na Movile - Apache Cassandra MVP 2015 - Apache Cassandra MVP 2014 - Contribuidor

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

Page 14: Conhecendo Apache Cassandrafiles.meetup.com/17299362/SPBigData Meetup...Eiti Kimura Coordenador de TI na Movile - Apache Cassandra MVP 2015 - Apache Cassandra MVP 2014 - Contribuidor

Tolerância a Falhas

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

Page 15: Conhecendo Apache Cassandrafiles.meetup.com/17299362/SPBigData Meetup...Eiti Kimura Coordenador de TI na Movile - Apache Cassandra MVP 2015 - Apache Cassandra MVP 2014 - Contribuidor

Como pode ser usado?

Page 16: Conhecendo Apache Cassandrafiles.meetup.com/17299362/SPBigData Meetup...Eiti Kimura Coordenador de TI na Movile - Apache Cassandra MVP 2015 - Apache Cassandra MVP 2014 - Contribuidor

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

Page 17: Conhecendo Apache Cassandrafiles.meetup.com/17299362/SPBigData Meetup...Eiti Kimura Coordenador de TI na Movile - Apache Cassandra MVP 2015 - Apache Cassandra MVP 2014 - Contribuidor

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...

Page 18: Conhecendo Apache Cassandrafiles.meetup.com/17299362/SPBigData Meetup...Eiti Kimura Coordenador de TI na Movile - Apache Cassandra MVP 2015 - Apache Cassandra MVP 2014 - Contribuidor

Arquitetura Inicial da Plataforma

API

DB

API

DB

API

API

API

API

API

Page 19: Conhecendo Apache Cassandrafiles.meetup.com/17299362/SPBigData Meetup...Eiti Kimura Coordenador de TI na Movile - Apache Cassandra MVP 2015 - Apache Cassandra MVP 2014 - Contribuidor

Nova arquitetura

API API

API API

API API

API API

API API

Other

Page 20: Conhecendo Apache Cassandrafiles.meetup.com/17299362/SPBigData Meetup...Eiti Kimura Coordenador de TI na Movile - Apache Cassandra MVP 2015 - Apache Cassandra MVP 2014 - Contribuidor

Vantagens da Nova Solução

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

leitura e escrita

Page 21: Conhecendo Apache Cassandrafiles.meetup.com/17299362/SPBigData Meetup...Eiti Kimura Coordenador de TI na Movile - Apache Cassandra MVP 2015 - Apache Cassandra MVP 2014 - Contribuidor

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

Page 22: Conhecendo Apache Cassandrafiles.meetup.com/17299362/SPBigData Meetup...Eiti Kimura Coordenador de TI na Movile - Apache Cassandra MVP 2015 - Apache Cassandra MVP 2014 - Contribuidor

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

Page 23: Conhecendo Apache Cassandrafiles.meetup.com/17299362/SPBigData Meetup...Eiti Kimura Coordenador de TI na Movile - Apache Cassandra MVP 2015 - Apache Cassandra MVP 2014 - Contribuidor

Onde aprender mais?

Page 24: Conhecendo Apache Cassandrafiles.meetup.com/17299362/SPBigData Meetup...Eiti Kimura Coordenador de TI na Movile - Apache Cassandra MVP 2015 - Apache Cassandra MVP 2014 - Contribuidor

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

Page 25: Conhecendo Apache Cassandrafiles.meetup.com/17299362/SPBigData Meetup...Eiti Kimura Coordenador de TI na Movile - Apache Cassandra MVP 2015 - Apache Cassandra MVP 2014 - Contribuidor

http://academy.datastax.com/

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

Page 26: Conhecendo Apache Cassandrafiles.meetup.com/17299362/SPBigData Meetup...Eiti Kimura Coordenador de TI na Movile - Apache Cassandra MVP 2015 - Apache Cassandra MVP 2014 - Contribuidor

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

Page 27: Conhecendo Apache Cassandrafiles.meetup.com/17299362/SPBigData Meetup...Eiti Kimura Coordenador de TI na Movile - Apache Cassandra MVP 2015 - Apache Cassandra MVP 2014 - Contribuidor

[email protected] eitikimura

eitikimura