+ All Categories
Home > Software > SP Big Data Meetup - Conhecendo Apache Cassandra @Movile

SP Big Data Meetup - Conhecendo Apache Cassandra @Movile

Date post: 22-Jan-2018
Category:
Upload: eiti-kimura
View: 813 times
Download: 0 times
Share this document with a friend
27
Conhecendo Apache Cassandra @Movile São Paulo Big Data Meetup 25.11.15 Eiti Kimura
Transcript

Conhecendo

Apache Cassandra @Movile

São Paulo Big Data Meetup 25.11.15 Eiti Kimura

Eiti KimuraCoordenador 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

Descentralizado

Escalabilidade 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 partiçã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

APIAPI

APIAPI

APIAPI

APIAPI

APIAPI

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


Recommended