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).
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.
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”.
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.
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.
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.
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.
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.
Você já adiou uma atualização do Android porque achou que nada mudaria no celular? A…
Você usaria um @ no WhatsApp em vez de compartilhar seu número de telefone? O…
Você já ouviu que trocar de senha toda semana é uma forma de deixar suas…
Você instala um aplicativo novo, abre pela primeira vez e a tela aparece: “Permitir acesso…
Você desbloqueia o celular para responder uma mensagem rápida e, sem perceber, passa por vários…
Você abre um aplicativo para pedir comida, conferir o saldo da conta, conversar com amigos…