27
Dores e triunfos

Ad server cassandra

  • Upload
    distbp

  • View
    161

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Ad server cassandra

Dores e triunfos

Page 2: Ad server cassandra

Existem 4 categorias de Bancos NoSQL

• Chave Valoro A categoria mais simples de bancos, armazena os dados no formato chave valor

ou chave e hash.o Ex.: Riak, Redis

• Documentoo Armazena dados em forma de documentos, na maioria das vezes JSON.o Ex.: CouchDB, MongoDB

• Grafoo Dados armazenados no formato de grafo, permitindo alto nível de

relacionamento .o Ex.: Neo4J

• Família de Colunaso Dados armazenados no formato de linhas e colunas múltiplias, como uma

planilha de texto.o Ex.: Cassandra

Page 3: Ad server cassandra

O Apache cassandra é um banco de dados altamente escalável, sem ponto único de

falha, elástico, eventualmente consistente.

É o AP do CAP

Não é ACID ( Atomicidade, Consistência, Isolamento, Durabilidade)

Mas é BASE (Basically Available, Soft state, Eventual consistency)

• Basically Available – Se um nó falhar, uma parte da informação pode não ficar disponível

• Soft state – Informação será deletada caso não seja necessária.• Eventual consistency – Informação atualizada pode não estar replicada em todos

os nós do cluster

Page 4: Ad server cassandra
Page 5: Ad server cassandra

O Apache Cassandra tem formas de minimizar seus “problemas”

• Consistência customizada:

o ONE

o QUORUM (Métade da replicação necessária + 1)

o ALL

Porém quanto maior a consistência, maior a latência.

• Replicação

o Uma informação é replicada em N nós diferentes para no caso de uma possível falha em um nó, aquela informação não fique indisponível.

• Controle de consistência de escrita

o Se o fator de replicação for maior que o número de nós ativos, a leitura se mantém mas todas as escrita serão rejeitadas.

Page 6: Ad server cassandra

Comunicação InternaGossip

Comunicação ExternaThrift

Configurações específicas Para cada Protocolo

Page 7: Ad server cassandra

Leitura

Read Repair

Page 8: Ad server cassandra

• São como os schemas de RDBMS

• Podem contar várias column families

• Contém a configuração de replicação

• Contém a estratégia de replicação

Page 9: Ad server cassandra

• Conjunto de linhas com colunas e valores

Page 10: Ad server cassandra
Page 11: Ad server cassandra

• Composite Columns

Page 12: Ad server cassandra
Page 13: Ad server cassandra
Page 14: Ad server cassandra

Crash JVM

• Lentidão

• Marcação de ocupado

•Bola de neve com Hinted Handoff

•Causado pelos outros problemas

Page 15: Ad server cassandra

HEAP

• Nó morria frequentemente

• Bola de neve com Hinted Handoff

•Migração das máquinas para Xlarge

• Reconfiguração do pool

Page 16: Ad server cassandra

OutOfMemoryException só que não!

• Nó morria

•OutOfMemory mesmo não usando toda a memória

• Aumento do número de processos

Page 17: Ad server cassandra

HSHA E SYNC

• Documentação recomenda usar hsha para economizar

memória e possibilitar mais conexões

• Sync gasta muita memória com conexões, hsha causa falha nas conexões

• Utilizar sync mesmo a documentação dizendo o contrário

• Reconfiguração do pool

Page 18: Ad server cassandra

Excesso de conexões abertas

• Utilização de sync

• Nós morriam sempre que ligavamos a contabilização de impressões

• Reconfiguração do pool

Page 19: Ad server cassandra

Hot Spot

• Apenas 3 servidores eram utilizados por hora

• Nós morriam sempre que ligavamos a contabilização de impressões

• Reconfiguração da chave

Page 20: Ad server cassandra

Hot Spot

Page 21: Ad server cassandra

Hot Spot

Page 22: Ad server cassandra

Thrift Lock

• Mais novo erro do Cassandra !!!!!!

• Comunicação entre máquinas e clientes travada

•Cassandra isolado

• Restart do thrift

• Causa raíz desconhecida!!

Page 23: Ad server cassandra

Nodetool

ringmove <new token>

join

drain

decommission

flush [keyspace] [cfnames]

repair [keyspace] [cfnames]refresh <keyspace> <cf-name>

cleanup [keyspace] [cfnames]compact [keyspace] [cfnames]

getendpoints <keyspace> <cf> <key>

Address DC Rack Status State Load Effective-Ownership Token

141784319550391026443072753096570088106

10.100.16.61 sa-east 1a Up Normal 2.19 GB 0,00% 0

10.100.17.61 sa-east 1b Up Normal 2.15 GB 0,00% 28356863910078205288614550619314017621

10.100.16.62 sa-east 1a Up Normal 2.16 GB 0,00% 56713727820156410577229101238628035242

10.100.17.62 sa-east 1b Up Normal 2.15 GB 0,00% 85070591730234615865843651857942052864

10.100.16.63 sa-east 1a Up Normal 2.17 GB 0,00% 113427455640312821154458202477256070485

10.100.17.63 sa-east 1b Up Normal 2.18 GB 0,00% 141784319550391026443072753096570088106

disablegossip

enablegossipgossipinfo

disablethriftenablethriftstatusthrift

Page 24: Ad server cassandra

Opscenter

Page 25: Ad server cassandra

Agora tenho dois conteúdos extras a mostrar

Page 26: Ad server cassandra
Page 27: Ad server cassandra