Sunteți pe pagina 1din 31

NoSQL

Consideraes sobre o Cassandra


Mitologia Grega;
Criado pelo Facebook;
Sistema de banco de dados Nosql;
Projetado para armazenar e gerenciar grandes
quantidades de dados em servidores;
Rene as tecnologias de sistemas distribudos
do Dynamo da Amazon e o modelo de dados
do BigTable do Google.




Consideraes sobre o Cassandra
Sistema open source e distribudo;
baseado no tipo chave / valor;
Altas escalabilidade e disponibilidade;
Possui uma linguagem de consulta CQL;
Tolerncia ao particionamento de dados.







Teorema de CAP
Dentre consistncia, disponibilidade e
tolerncia a parties no se pode ter os trs ao
mesmo tempo e obter uma tolerncia aceitvel.
ACID vs BASE
Atomicidade
Consistncia
Isolamento
Durabilidade
Basicamente
Disponvel,
Eventualmente
Disponvel
Onde o Cassandra se encaixa
Arquitetura do Cassandra
Armazena dados de acordo com o modelo de
dados de famlia de colunas:







Colunas Linhas
Famlia de
Colunas
Keyspaces
Modelo de dados do Cassandra
Curiosidades do Cassandra
Sem transaes, sem JOINs

Sem chaves estrangeiras.

As chaves so imutveis

Instalao do Cassandra
1 opo: cassandra.apache.org
Instalao do Cassandra
2 opo: planetcassandra.org.cassandra
Instalao do Cassandra
Instalao do Cassandra
Instalao do Cassandra
Instalao do Cassandra
Instalao do Cassandra
Instalao do Cassandra
Instalao do Cassandra
Modo Grfico - Cassandra
Localhost:8888/opscenter/index.html
Modo Texto - Cassandra
Cassandra - Replicao
Vantagens:
Maior disponibilidade: os dados permanecem
acessveis diante de falhas.

Desvantagens:
Controle de consistncia: preciso manter as
rplicas atualizadas.
Cassandra - Replicao
Protocolo Gossip

Protocolo de comunicao para descobrir e partilhar a
localizao e estado informaes sobre os outros ns
em um cluster Cassandra.



Definies Bsicas - Replicao

o Rplica: cpia de uma linha (row); No existe uma rplica principal;
o Fator de replicao: nmero de ns que devem armazenar uma rplica;
o Estratgia de replicao: maneira com que as rplicas sero distribudas
entre os ns;
o Data center: agrupamento lgico de ns em um cluster com finalidades de
replicao;
o Rack: agrupamento lgico de ns em um data center;
o Endpoint: n passvel de receber uma rplica no processo de replicao.
Snitch
Fornece informaes para o Cassandra respeito dos ns no cluster;
Alm da replicao, usado nas requisies para roteamento eficiente;
Atravs dele possvel fazer diversas consultas:

qual o rack de um n?
qual o datacenter de um n?
quais so os ns mais prximos que eu posso inserir uma rplica?
quais os ns de um datacenter?

Define-se o tipo do snitch no arquivo de configurao do Cassandra;
Todos os ns devem ter a mesma configurao;
Snitch
SimpleSnitch

No leva em conta organizao de racks e data
centers;
Retorna sempre uma lista de todos os ns do
anel.
RackInferringSnitch
Leva em conta racks e data centers;
Infere o rack e data center de um n partir do
seu endereo IP.

Cassandra - Replicao

A estratgia de replicao definida na criao do
Keyspace, juntamente com o fator de replicao.
Estratgias de Replicao
Basicamente fazem o seguinte
1. O Snitch retorna uma lista com os endpoints (ns
que podem receber uma rplica);
2. Cria um iterador para uma lista formada partir dos
endpoints retornados e seus tokens;
3. Insere nos endpoints retornados pelo iterador at
que o fator de replicao seja satisfeito;
Duas estratgias fornecidas:
SimpleStrategy
NetworkTopologyStrategy
Simple Strategy
Rack Unaware
usado em clusters de um nico data center
Funcionamento:
1. O particionador determina a posio da primeira
rplica (primeiro n que possui token maior que o
token da entrada);
2. As N-1 rplicas so alocadas nos prximos ns
do anel seguindo o sentido horrio (ordem dos
tokens).
Simple Strategy
Network Topology Strategy
criado um anel virtual para cada data center

A partir de ento, em cada data center se faz o seguinte

1. A primeira rplica colocada em um n determinado pelo
particionador.
2. Se percorre o anel em sentido horrio onde a prxima
rplica inserida em um n pertencente a um rack diferente
do n da rplica anterior. Se no existe tal rack, as rplicas
restantes so colocadas sem a restrio dos racks .
Network Topology Strategy
Como fazer na prtica?
Escolher o nome do Cluster;
Pegar os endereos dos ns;
Determina os seed nodes. ( Que so utilizados
pelos ns nos Cluster para a aprender a
topologia);
Determinar o snitch.


Como fazer na prtica?
Abrir o arquivo cassandra.yaml que fica em diretrio instalado
/conf/ e setar os seguintes valores:

S-ar putea să vă placă și