Introdução à família de colunas com Cassandra



Este blog destaca a importância da família de colunas com Cassandra

Família de coluna

Uma família de colunas é semelhante a uma tabela em RDBMS ou Relational Database Management System e é uma divisão lógica que associa dados semelhantes. Basicamente, em dados semelhantes, você tende a armazenar algum tipo de dados de assuntos semelhantes.

Por exemplo, os dados de um pedido são armazenados em uma única família de colunas para que você possa ter um ID de pedido como uma chave de linha, bem como várias colunas, como o tipo de produto que foi trazido como parte desse pedido para ser armazenado na família de pedido particular . Para dar alguns exemplos, uma família de colunas de usuário consiste em um ID de usuário como uma chave. Portanto, pode-se escolher um ID e as colunas podem ser ‘nome = Kunal’. E os valores da coluna são Kunal e Bangalore. Há uma segunda família de colunas chamada família de colunas de críquete, que permite o armazenamento de estatísticas de críquete em uma família de colunas. Por exemplo, você pode ter Sachin Tendulkar em uma coluna e vários séculos em outra. Portanto, pode haver qualquer número de colunas.





Tipos de Colunas

Família de colunas nada mais é que uma tabela que é análoga a uma tabela em um mundo RDBMS. Existem certos tipos, a saber

Família de coluna estática - Família de coluna estática é onde os nomes e tipos de dados são definidos. Portanto, quando o grupo de colunas é criado, a opção de nomear o nome da coluna e os tipos de dados está disponível. É chamado de estático porque as colunas permanecem estáticas e o número de colunas disponíveis será conhecido.



aplicações de análise de big data

Família de Colunas Dinâmicas - Uma família de colunas dinâmicas, por outro lado, não define os nomes das colunas antecipadamente e a capacidade do Cassandra de usar aplicativos arbitrários e nomes de colunas para armazenar dados está disponível. Tão dinâmico ajuda de certa forma porque em dados não estruturados, na maioria das vezes, a família de colunas dinâmicas ajuda a cuidar de novos campos que podem ter sido adicionados posteriormente.

Se você tem uma família de colunas estáticas e deseja adicionar uma família de colunas dinâmicas em seu código enquanto carrega os dados, ela pode ser adicionada a uma família de colunas estáticas a qualquer momento. Cassandra dá a liberdade de escolher os nomes das colunas.

Diferença com RDBMS

A família de colunas Cassandra não tem esquemas e é muito escalonável. A família de colunas do Cassandra possui dois atributos - Nome e Comparador. Portanto, quando você tem uma família de colunas do Cassandra, atribuir um nome a ela torna-se obrigatório e o Comparador é basicamente um tipo de dados para nomes de colunas. Se você não especificar o comparador, ele assumirá que é algum comparador padrão.



Cassandra também tem uma coluna de famílias de supercolunas. Ele usará uma supercoluna internamente. É um agrupamento lógico e outro nível de agrupamento de colunas. Portanto, em uma família de colunas de usuário, você pode ter duas supercolunas onde podemos ter as informações pessoais dos usuários e informações do produto.

Colunas

Uma coluna é o menor incremento de dados no Cassandra. Possui 3 componentes:

  • Nome
  • Valor
  • Carimbo de tempo - Usado na resolução de conflitos e o carimbo de hora não pode ser editado. É um mecanismo interno para ver quando esses dados ou coluna foram atualizados.
  • Expirando colunas - Uma data de validade pode ser atribuída a uma coluna para saber que a coluna irá expirar.
  • Colunas de contador - As colunas do contador nada mais são do que manter as colunas para que você possa aumentar e diminuir essas colunas do contador.

Super Columns

Super Columns é o agrupamento de todas as colunas, dependendo da necessidade do negócio e do agrupamento lógico. Ele adiciona outro nível de aninhamento à estrutura regular da família de colunas. Eles compreendem uma estrutura de família de supercolunas.

O principal caso de supercolunas é desnormalizar várias linhas de outras famílias de colunas em uma única linha, permitindo a recuperação de dados de visão materializada.

Casos de Uso

Limitações de Super Columns

Uma limitação é que todas as subcolunas de uma família de supercolunas devem ser desserializadas para ler uma única família de subcolunas. Outra limitação é que não podemos criar índices secundários nas subcolunas de uma supercoluna.

tamanho de um array de javascript

Tipos de dados de coluna

Tipos de dados de coluna

Na imagem acima, existem diferentes tipos de dados. O tipo de dados para um valor de coluna é chamado de validador. E o comparador é o tipo de dados de uma coluna. O nome e o endereço se tornam um nome de coluna. Portanto, você pode ter uma data no caso de nomes de coluna. Você também pode ter dados de série temporal tendo a data como um nome de coluna.

Linhas

Pode haver linhas largas e várias linhas. Pode haver milhões de colunas e linhas disponíveis.

As linhas estreitas têm um pequeno número de colunas, com a opção de ter apenas linhas limitadas.

sobrecarga de função no exemplo c ++

Chave composta

Consiste em um ou mais campos de chave primária. Suponha que o nome de uma cidade seja definido como uma chave de linha, pode haver uma cidade nomeada em dois estados diferentes, então você terá que mencionar qual cidade e qual estado. Isso significa simplesmente que a chave deve ser declarada. Em vez de ter uma chave de coluna simples de um tipo, você pode agregar vários valores também chamados de componentes de vários tipos para formar uma chave de coluna exclusiva.

Tem alguma questão para nós? Mencione-os na seção de comentários e entraremos em contato com você.

Postagens relacionadas:

Introdução aos pomos em Cassandra