23 principais perguntas e respostas da entrevista de Cassandra

baixar PDF

1) Explique o que é Cassandra?

Cassandra é um sistema de armazenamento de dados de código aberto desenvolvido no Facebook para pesquisa de caixa de entrada e projetado para armazenar e gerenciar grandes quantidades de dados em servidores de commodities. Ele pode servir como ambos

  • Sistema de armazenamento de dados em tempo real para aplicativos online
  • Também como banco de dados de leitura intensiva para sistema de business intelligence

2) Qual é a utilidade do Cassandra e por que usar o Cassandra?

O Cassandra foi projetado para lidar com cargas de trabalho de big data em vários nós, sem nenhum ponto único de falha. Os vários fatores responsáveis ​​pelo uso do Cassandra são

  • É tolerante a falhas e consistente
  • Escalabilidade de gigabytes a petabytes
  • É um banco de dados orientado a colunas
  • Nenhum ponto único de falha
  • Não há necessidade de camada de cache separada
  • Projeto de esquema flexível
  • Possui armazenamento de dados flexível, fácil distribuição de dados e gravações rápidas
  • Suporta propriedades ACID (Atomicidade, Consistência, Isolamento e Durabilidade)
  • Multi-data center e capacidade de nuvem
  • Compressão de dados

3) Explique o que é tipo composto no Cassandra?

No Cassandra, o tipo composto permite definir uma chave ou um nome de coluna com uma concatenação de dados de tipo diferente. Você pode usar dois tipos de tipo composto

  • Chave de linha
  • Nome da coluna

4) Como o Cassandra armazena os dados?

  • Todos os dados armazenados como bytes
  • Quando você especifica o validador, o Cassandra garante que esses bytes sejam codificados de acordo com o requisito
  • Em seguida, um comparador ordena a coluna com base na ordem específica para a codificação
  • Embora o composto seja apenas matrizes de bytes com uma codificação específica, para cada componente ele armazena um comprimento de dois bytes seguido pelo componente codificado por byte seguido por um bit de terminação.

5) Mencione quais são os principais componentes do Cassandra Data Model?

Os principais componentes do Cassandra Data Model são

  • Cacho
  • Keyspace
  • Coluna
  • Coluna e Família

6) Explique o que é uma família de colunas no Cassandra?

A família de colunas no Cassandra é referida por uma coleção de linhas.

7) Explique o que é um cluster no Cassandra?

Um cluster é um contêiner para espaços-chave. O banco de dados do Cassandra é segmentado em várias máquinas que operam juntas. O cluster é o contêiner externo que organiza os nós em um formato de anel e atribui dados a eles. Esses nós possuem uma réplica que assume o controle em caso de falha no manuseio dos dados.

8) Liste os outros componentes do Cassandra?

Os outros componentes do Cassandra são

  • Centro de dados
  • Cacho
  • Registro de confirmação
  • Mesa-Mem
  • SSTable
  • Filtro Bloom

9) Explique o que é um keyspace no Cassandra?

No Cassandra, um keyspace é um namespace que determina a replicação de dados em nós. Um cluster consiste em um keyspace por nó.

10) Qual é a sintaxe para criar keyspace no Cassandra?

A sintaxe para a criação de keyspace no Cassandra é

CRIAR KEYSPACE COM

11) Mencione quais são os valores armazenados na coluna Cassandra?

Na coluna Cassandra, basicamente existem três valores

  • Nome da coluna
  • Valor
  • Carimbo de hora

12) Mencionar quando você pode usar o keyspace Alter?

ALTER KEYSPACE pode ser usado para alterar propriedades como o número de réplicas e a gravação_durável de um keyspace.

13) Explique o que é Cassandra-Cqlsh?

Cassandra-Cqlsh é uma linguagem de consulta que permite aos usuários se comunicarem com seu banco de dados. Ao usar o Cassandra cqlsh, você pode fazer o seguinte

  • Defina um esquema
  • Insira um dado e
  • Execute uma consulta

14) Mencione o que os comandos do shell Capture and Consistency determinam?

Existem vários comandos de shell Cqlsh no Cassandra. O Command Capture captura a saída de um comando e a adiciona a um arquivo, enquanto o comando Consistency exibe o nível de consistência atual ou define um novo nível de consistência.

15) O que é obrigatório ao criar uma tabela no Cassandra?

Embora a criação de uma chave primária de tabela seja obrigatória, ela é composta por uma ou mais colunas de uma tabela.

16) Mencione o que precisa ser cuidado ao adicionar uma coluna?

Ao adicionar uma coluna, você precisa cuidar para que o

  • O nome da coluna não está em conflito com os nomes das colunas existentes
  • A tabela não está definida com a opção de armazenamento compacto

17) Mencione o que são coleções Cassandra-CQL?

As coleções Cassandra CQL ajudam você a armazenar vários valores em uma única variável. No Cassandra, você pode usar coleções CQL das seguintes maneiras

  • Lista : É usado quando a ordem dos dados precisa ser mantida e um valor deve ser armazenado várias vezes (contém a lista de elementos exclusivos)
  • DEFINIR : É usado para grupos de elementos para armazenar e retornar em ordens classificadas (contém elementos repetidos)
  • MAPA : É um tipo de dados usado para armazenar um par de valores-chave de elementos

18) Explique como o Cassandra grava dados?

Cassandra grava dados em três componentes

  • Gravação do Commitlog
  • Escrita memorável
  • Gravação SStable

Cassandra primeiro grava dados em um log de confirmação e, em seguida, em uma tabela memtable de estrutura de tabela na memória e, por fim, em SStable

19) Explique o que é Memtable em Cassandra?

  • Cassandra grava os dados em uma estrutura na memória conhecida como Memtable
  • É um cache na memória com conteúdo armazenado como chave / coluna
  • Por chave Os dados memoráveis ​​são classificados
  • Há uma Memtable separada para cada ColumnFamily, e ela recupera os dados da coluna da chave

20) Explique em que consiste o SStable?

SStable consiste principalmente em 2 arquivos

  • Arquivo de índice (filtro Bloom e pares de deslocamento de chave)
  • Arquivo de dados (dados reais da coluna)

21) Explique para que é usado o filtro Bloom no Cassandra?

Um filtro bloom é uma estrutura de dados com espaço eficiente que é usada para testar se um elemento é membro de um conjunto. Em outras palavras, é usado para determinar se um SSTable possui dados para uma linha específica. No Cassandra, é usado para salvar IO ao realizar uma pesquisa de chave.

22) Explique como o Cassandra grava os dados alterados no commitlog?

  • Cassandra concatenar dados alterados para commitlog
  • Commitlog atua como um registro de recuperação de falhas para dados
  • Até que os dados alterados sejam concatenados para a operação de gravação do commitlog nunca será considerada bem-sucedida

Os dados não serão perdidos depois que o commitlog for descarregado para o arquivo

23) Explique como o Cassandra deleta os dados?

SSTables são imutáveis ​​e não podem remover uma linha de SSTables. Quando uma linha precisa ser excluída, o Cassandra atribui ao valor da coluna um valor especial chamado Tombstone. Quando os dados são lidos, o valor Tombstone é considerado excluído.