O que é e para o que serve Apache Cassandra?
Published: 2022-12-31 05:20:14

Apache Cassandra é um banco de dados noSQL de arquitetura distribuída, com armazenamento configurável (híbrido). Desenvolvido na plataforma Java, possui API para as linguagens Ruby, Perl, Scala, Python e PHP.
Seu projeto foi iniciado pela equipe do Facebook, porem atualmente mantido pelo Apache.

Ele foi criado para ser altamente escalável e tolerante a falhas, permitindo que ele seja usado em ambientes de produção de alta disponibilidade.

O Cassandra supera consistentemente alternativas populares de NoSQL em benchmarks e aplicativos reais, principalmente por escolhas arquitetônicas fundamentais.

Cassandra foi projetado para lidar com grandes quantidades de dados distribuídos em vários servidores, o que o torna ideal para aplicações que exigem alta escala e alta disponibilidade. Ele usa um modelo de banco de dados NoSQL, utilizando uma estrutura de dados baseada em chave-valor. Isso o torna mais flexível e adaptável para lidar com dados de várias formas e estruturas.

Seu grande diferencial é que mesmo com grandes volumes de dados e grandes demandas de escalabilidade ele se mantêm instável.

Cassandra é amplamente utilizado em várias indústrias, incluindo varejo, finanças, mídia e tecnologia. Alguns exemplos de empresas que usam Cassandra incluem eBay, Netflix e Hulu.

**7 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.

2-_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”.

3-_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.

4-_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.

5-_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.

6-_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.

7-_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.

Resumindo, o Apache Cassandra é um sistema de gerenciamento de banco de dados distribuído altamente escalável e tolerante a falhas, projetado para lidar com grandes quantidades de dados distribuídos em vários servidores. Ele é usado em várias indústrias e consegue processar grandes quantidades de dados em tempo real.