Upload
distbp
View
151
Download
2
Embed Size (px)
Citation preview
Dores e triunfos
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
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
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.
Comunicação InternaGossip
Comunicação ExternaThrift
Configurações específicas Para cada Protocolo
Leitura
Read Repair
• 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
• Conjunto de linhas com colunas e valores
• Composite Columns
Crash JVM
• Lentidão
• Marcação de ocupado
•Bola de neve com Hinted Handoff
•Causado pelos outros problemas
HEAP
• Nó morria frequentemente
• Bola de neve com Hinted Handoff
•Migração das máquinas para Xlarge
• Reconfiguração do pool
OutOfMemoryException só que não!
• Nó morria
•OutOfMemory mesmo não usando toda a memória
• Aumento do número de processos
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
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
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
Hot Spot
Hot Spot
Thrift Lock
• Mais novo erro do Cassandra !!!!!!
• Comunicação entre máquinas e clientes travada
•Cassandra isolado
• Restart do thrift
• Causa raíz desconhecida!!
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
Opscenter
Agora tenho dois conteúdos extras a mostrar