terça-feira, 10 de fevereiro de 2015

Cassandra

>>http://www.ibm.com/developerworks/br/library/os-apache-cassandra/

Registrando o vídeo dessa palestra sobre cassandra. Muito bom!
https://www.youtube.com/watch?v=B_HTdrTgGNs

Cassandra é uma implementação de família de colunas NoSQL que suporta o modelo de dados Big Table e usa aspectos de arquitetura introduzidos por Amazon Dynamo (como visto no vídeo, é um papper que fala sobre noSQL. Um dos primeiros pappers sobre o assunto. Até hoje se baseiam em suas idéias para bancos nosql).

A Figura mostra a arquitetura de um cluster do Cassandra. A primeira observação é que o Cassandra é um sistema distribuído. O Cassandra consiste em vários nós e distribui os dados entre eles (ou divide-os em shards, na terminologia de bancos de dados).

Cluster do Cassandra


O Cassandra usa hashing consistente para designar itens de dados a nós. Em termos simples, o Cassandra usa um algoritmo hash para calcular o hash de chaves de cada item de dados armazenado nele (por exemplo, nome de coluna, ID de linha). O intervalo de hash, ou todos os valores de hash possíveis (também chamado de keyspace), é dividido entre os nós no cluster do Cassandra. Em seguida, o Cassandra designa cada item de dados ao nó, e esse nó é responsável por armazenar e gerenciar o item de dados. 

alguns pontos:
- O Cassandra distribui dados entre seus nós de forma transparente para o usuário. Qualquer nó pode aceitar qualquer solicitação (leitura, gravação ou exclusão) e encaminhá-la ao nó correto, mesmo que os dados não estejam armazenados nesse nó.
- Os usuários podem definir quantas réplicas são necessárias, e o Cassandra cuida da criação e gerenciamento de réplicas de forma transparente.
- Consistência ajustável: ao armazenar e ler dados, os usuários podem escolher o nível de consistência esperado em cada operação. Por exemplo, quando o nível de consistência "quorum" é usado ao gravar ou ler, os dados são gravados e lidos em mais de metade
dos nós no cluster. O suporte a consistência ajustável permite que os usuários escolham o melhor nível de consistência para o caso de uso
- O Cassandra fornece gravações muito rápidas (até mesmo mais rápidas que as leituras), transferindo dados a cerca de 80-360 MB/s por nó. 


O cassandra se baseia em nós. Cada nó é totalmente independente. Os dados são dividos nesses nós.

Há também cópia de dados do nó onde foi armazenado para outros nós. Isso permite total constância, evitando erros. Como dito na palestra, devemos admitir que sempre haverá erros para saber como lidar e evitar que isso nos atrapalhe. Então, se um servidor (nó) sair do ar, haverá o dado em outro servidor, não gerando danos no banco.

Essa vantagem também permite manutenção do banco sem precisar tirá-lo do ar.





2 comentários:

  1. Este comentário foi removido pelo autor.

    ResponderExcluir
  2. Legais estes teus posts, Maria Beatriz! Tinha parado de acompanhar mas agora fiquei bem feliz que o negócio tá saindo como eu queria :-)

    ResponderExcluir