Cassandra Tutorial para iniciantes: aprenda em 3 dias

O que é o Apache Cassandra?

Cassandra é um sistema de gerenciamento de banco de dados distribuído projetado para lidar com um grande volume de dados estruturados em servidores comuns.

Cassandra lida com a enorme quantidade de dados com sua arquitetura distribuída. Os dados são colocados em máquinas diferentes com mais de um fator de replicação que fornece alta disponibilidade e nenhum ponto único de falha.

Na imagem abaixo, os círculos são Cassandra nós e linhas entre os círculos mostram arquitetura distribuída, enquanto o cliente envia dados para o nó.

Cassandra Tutorial de banco de dados para iniciantes: aprenda em 3 dias

Cassandra Programa de estudos

Introdução

👉 Lessem 1 Instale Cassandra – Como baixar e instalar Cassandra on Windows
👉 Lessem 2 Cassandra ArchiEstratégia de arquitetura e fator de replicação - Um guia abrangente
👉 Lessem 3 Cassandra Modelo de dados - Aprenda com um exemplo simples

Coisas avançadas

👉 Lessem 1 Cassandra Espaço-chave - Criar, alterar e descartar keyspace em Cassandra com exemplo
👉 Lessem 2 Cassandra mesa - Criar, alterar, descartar e truncar (com exemplo)
👉 Lessem 3 Cassandra Linguagem de consulta (CQL) - Inserir, atualizar, excluir (exemplo)
👉 Lessem 4 Criar e inserir INDEX em Cassandra - Aprenda com o exemplo
👉 Lessem 5 Cassandra Tipos de dados CQL e expiração de dados usando TTL - Aprenda com o exemplo
👉 Lessem 6 Cassandra Coleção - Definir, listar, mapa com exemplo
👉 Lessem 7 Cassandra Cluster instalação - Cluster Configuração em vários nós
👉 Lessem 8 Instalação do DataStax DevCenter e OpsCenter - Um guia passo a passo
👉 Lessem 9 Cassandra Segurança — Criar usuário e autenticação com JMX

Deve saber!

👉 Lessem 1 Cassandra Interview Questions – 23 melhores Cassandra Perguntas e Respostas da Entrevista
👉 Lessem 2 Cassandra PDF do tutorial - Download Cassandra PDF do tutorial para iniciantes

Cassandra História

  • Cassandra foi desenvolvido inicialmente no Facebook para pesquisa na caixa de entrada.
  • O Facebook abriu o código-fonte em julho de 2008.
  • Incubadora Apache aceita Cassandra em março 2009.
  • Cassandra é um projeto de alto nível de apache desde 2010 de fevereiro.
  • A última versão do Apache Cassandra é 3.2.1.

Primeiro vamos entender o que é banco de dados NoSQL.

Nosql Cassandra banco de dados

Os bancos de dados NoSQL são chamados de bancos de dados “Não apenas SQL” ou “Não relacionais”. Os bancos de dados NoSQL armazenam e recuperam dados diferentes de relações tabulares, como bancos de dados relacionais.

Os bancos de dados NoSQL incluem MongoDB, HBase e Cassandra.

Existem as seguintes propriedades de bancos de dados NoSQL.

  • Simplicidade de design
  • Dimensionamento Horizontal
  • High Availability

Estruturas de dados usadas em Cassandra são mais especificados do que estruturas de dados usadas em bancos de dados relacionais. Cassandra estruturas de dados são mais rápidas que estruturas de banco de dados relacionais.

Os bancos de dados NoSQL são cada vez mais usados ​​em Big Data e aplicações web em tempo real. Os bancos de dados NoSQL às vezes são chamados de Not Only SQL ou seja, eles podem suportar linguagem de consulta semelhante a SQL.

Nosql Cassandra Banco de dados versus bancos de dados relacionais

Aqui estão as diferenças entre bancos de dados relacionais e bancos de dados NoSQL em formato tabular.

Banco de Dados Relacional Banco de dados NoSQL
Lida com dados que chegam em baixa velocidade Lida com dados que chegam em alta velocidade
Os dados chegam de um ou poucos locais Os dados chegam de vários locais
Gerencia dados estruturados Gerencia dados estruturados não estruturados e semiestruturados.
Suporta transações complexas (com junções) Suporta transações simples
ponto único de falha com failover Nenhum ponto único de falha
Lida com dados em volume moderado. Lida com dados em volumes muito altos
Implantações centralizadas Implantações descentralizadas
Transações escritas em um local Transação escrita em vários locais
Oferece escalabilidade de leitura Oferece escalabilidade de leitura e gravação
Implantado de forma vertical Implantado de forma horizontal

Apache Cassandra Recursos

Existem os seguintes recursos que Cassandra proporciona.

  • Extremamente escalável Architextura: Cassandra tem um design sem mestre onde todos os nós estão no mesmo nível, o que proporciona simplicidade operacional e fácil expansão.
  • Sem mestre Architextura: Os dados podem ser gravados e lidos em qualquer nó.
  • Desempenho em escala linear: À medida que mais nós são adicionados, o desempenho do Cassandra aumenta.
  • Nenhum ponto único de falha: Cassandra replica dados em nós diferentes, garantindo que não haja nenhum ponto único de falha.
  • Detecção e recuperação de falhas: Os nós com falha podem ser facilmente restaurados e recuperados.
  • Modelo de dados flexível e dinâmico: Suporta tipos de dados com gravações e leituras rápidas.
  • Proteção de dados: Os dados são protegidos com design de log de confirmação e segurança integrada, como mecanismos de backup e restauração.
  • Consistência de dados ajustável: Suporte para forte consistência de dados em arquitetura distribuída.
  • Replicação de vários data centers: Cassandra fornece recurso para replicar dados em vários data centers.
  • Compressão de dados: Cassandra pode compactar até 80% dos dados sem qualquer sobrecarga.
  • Cassandra Linguagem de consulta: Cassandra fornece uma linguagem de consulta semelhante à linguagem SQL. Isso torna muito fácil para os desenvolvedores de bancos de dados relacionais migrarem de bancos de dados relacionais para Cassandra.

Cassandra Casos de uso/aplicação

Cassandra é um banco de dados não relacional que pode ser usado para diferentes tipos de aplicativos. Aqui estão alguns casos de uso em que Cassandra deve ser preferido.

  • mensagensCassandra é um ótimo banco de dados para as empresas que fornecem Mobile telefones e serviços de mensagens. Essas empresas possuem uma enorme quantidade de dados, então Cassandra é melhor para eles.
  • Aplicativo Internet das coisasCassandra é um ótimo banco de dados para aplicações onde os dados chegam em alta velocidade de diferentes dispositivos ou sensores.
  • Catálogos de produtos e aplicativos de varejoCassandra é usado por muitos varejistas para proteção durável do carrinho de compras e entrada e saída rápida do catálogo de produtos.
  • Análise de mídia social e mecanismo de recomendaçãoCassandra é um ótimo banco de dados para muitas empresas online e provedores de mídia social para análise e recomendação aos seus clientes.