Apache Cassandra

O que é Apache Cassandra

Apache Cassandra é um sistema de código aberto projetado para gerenciar grande volume de dados em tempo real, permitindo resposta imediata e suporte a pontos de falha.

Lançado pelo Facebook e tendo recebido contribuições do Google, Apache Cassandra é um sistema de código aberto projetado para gerenciar grande volume de dados em tempo real, permitindo resposta imediata e suporte a pontos de falha. Funciona como um banco de dados distribuído e é uma das opções atuais para soluções NoSQL (não somente SQL), ou para dados não-relacionais.

Quanto ao armazenamento de dados, Cassandra é essencialmente um híbrido entre valor-chave (dado tabular) e banco de dados orientado em colunas, com distribuição de conteúdo por linhas, separado por nome, valor e tempo, podendo ter bom balanceamento e distribuição de carga, RandomPartitioner (RP), ou distribuição de cargas de forma natural, aproximando nós com dados complementares para composição da informação, OrderPreservingPartitioner (OPP).

Características do Apache Cassandra

  1. Arquitetura de cluster descentralizado

O Apache Cassandra reparte a informação entre os clusters, com cada tipo de dado distribuído em diferentes nós, cada um com seu papel/função, mas sem hierarquia entre eles, o que permite que cada nó possa atender separadamente qualquer pedido do sistema.

  1. Réplica e redundância de dados

O Cassandra é capaz de tratar e reconhecer dados replicados e, mesmo quando um nó falha, consegue executar ação por redundância de dados, puxando as informações de outro nó, evitando erros ao recuperar os dados “perdidos”.

  1. Escalável

Novos nós podem ser adicionados ao cluster a qualquer momento permitindo o aumento da capacidade de armazenamento e processamento de acordo com o desejado, sem queda ou interrupção do serviço.

  1. Tolerante a falhas

Por replicar o mesmo dado em diferentes nós, quando nó um falha, outro pode fornecer a informação, sem apresentar interrupções ou tempo de inatividade.

  1. Nível de consistência configurável

Ao mesmo tempo que fornece suporte a falhas e perda de informação através das informações replicadas, permite que o nível de consistência desejado de uma determinada operação seja configurado, eliminando erros por meio de regras de acesso.

  1. Integrável

O Cassandra permite integração com outras soluções de Big Data, como o Hadoop, possibilitando o seu uso em clusters de análise de dados.

  1. API para uso em aplicações

O Cassandra possui a CQL (Cassandra Query Language) e possui drivers que implementam a API de acesso aos dados do cluster. Atualmente, existem várias implementações do driver para aplicações escritas em Java, Python, C++, C#, entre outras.