Modelagem de Dados Cassandra - Princípios de modelagem de dados e regras de mapeamento

Índice:

Anonim

Introdução à modelagem de dados Cassandra

Para combater uma quantidade colossal de informações, surgiram novas tecnologias de gerenciamento de dados. Essas técnicas são diferentes das abordagens tradicionais de banco de dados relacional. Eles são referidos coletivamente como NoSQL. Cassandra é um dos bancos de dados NoSQL amplamente conhecidos. Outros produtos populares de banco de dados NoSQL incluem MongoDB, Riak, Redis, Neo4j, etc. Neste tópico, vamos aprender sobre o Cassandra Data Modeling.

Esses bancos de dados NoSQL eliminam as deficiências descobertas pelo banco de dados relacional, incorporando um volume enorme que contém informações organizadas, semi-organizadas e não estruturadas. Escalabilidade e desempenho para aplicativos da web, menor custo e suporte para desenvolvimento ágil de software são algumas de suas vantagens. O Cassandra é uma plataforma de código aberto em funcionamento no Apache Software Foundation e, consequentemente, também é conhecido como Apache Cassandra. Cassandra pode supervisionar um imenso volume de dados organizados, semi-organizados e não estruturados em um grande cluster distribuído em vários centros. Ele fornece alta escalabilidade, alto desempenho e suporta um modelo flexível.

A modelagem de dados é um entendimento do fluxo e da estrutura que precisa ser usada para desenvolver o software. Ele identifica os principais objetos, seus recursos e o relacionamento com outros objetos. Geralmente, esse é o primeiro passo e o passo mais essencial na criação de qualquer software. Assim como o design do blueprint é para um arquiteto, um modelo de dados é para um desenvolvedor de software. Isso não apenas ajuda a analisar a estrutura, mas também permite antecipar quaisquer dificuldades funcionais ou técnicas que possam ocorrer posteriormente.

O fluxo tradicional de modelagem de dados começa com a modelagem conceitual de dados. Esse modelo de dados conceitual é mapeado para um modelo de dados relacional que finalmente produz um esquema de banco de dados relacional. Nesse processo, a principal coisa é a classificação de dados, que é feita com base na correlação, compreendendo e consultando-a.

A modelagem de dados no Cassandra difere da modelagem de dados no banco de dados relacional. A modelagem de dados relacionais é baseada apenas no modelo conceitual de dados. Que usa o SQL para recuperar e executar ações. Cassandra usa CQL (Cassandra Query Language) com SQL como sintaxe. A modelagem de dados no Cassandra começa com a organização dos dados e a compreensão de seu relacionamento com seus objetos. Aqui, o espaço de chave é análogo a um banco de dados que contém diferentes registros e tabelas. Um cluster pode ter vários espaços de chave. Nós diferentes se conectam para criar um cluster. No nível do espaço de chave, podemos definir atributos como o fator de replicação.

Modelo de tabela

O entendimento de uma tabela no Cassandra é completamente diferente de uma noção existente. Uma tabela CQL pode ser considerada como um grupo de partições chamado família de colunas que contém linhas com a mesma estrutura. Cada partição contém uma chave de partição exclusiva e cada linha contém uma chave de cluster singular opcional. A combinação de partição e uma chave de cluster é chamada de chave primária, usada para identificar uma linha na tabela. Uma tabela com uma chave de cluster terá partições com várias linhas, enquanto uma tabela sem chave de cluster terá apenas uma partição de linha única.

Modelo de consulta

O fluxo Casandra começa a partir de um modelo de dados conceitual, juntamente com o fluxo de trabalho do aplicativo, que é fornecido como entrada para obter o modelo de dados lógicos e, finalmente, obter o modelo de dados físico.

As consultas do usuário são definidas no fluxo de trabalho do aplicativo. A Modelagem de Dados Conceitual é usada para capturar o relacionamento entre diferentes entidades e seus atributos. Daí o nome do modelo ER.

Modelagem de Dados Lógicos

O núcleo da metodologia de modelagem de dados Cassandra é a modelagem lógica de dados. Um modelo de dados conceitual é mapeado para um modelo de dados lógico com base nas consultas definidas em um fluxo de trabalho do aplicativo. Esse mapeamento conceitual para lógico orientado a consultas é definido por princípios de modelagem de dados, regras de mapeamento e padrões de mapeamento.

Princípios de modelagem de dados

Os quatro princípios a seguir fornecem uma base para o mapeamento de modelos de dados conceituais para lógicos.

  1. Conheça seus dados: para organizar os dados corretamente, entidades, atributos e seus relacionamentos devem ser bem conhecidos para desenvolver um modelo de dados conceitual.
  2. Conheça suas consultas: para organizar os dados com eficiência, as consultas são usadas. A melhor opção a ser executada é partição por consulta.
  3. Aninhamento de dados: para organizar várias entidades do mesmo tipo juntas em critérios conhecidos, o aninhamento de dados é usado. É usado para recuperar várias entidades de uma única partição.
  4. Duplicação de dados: é sempre melhor ter duplicação de dados sobre junções no Cassandra, pois ajuda a suportar com eficiência consultas diferentes sobre os mesmos dados.

Com base nos princípios de modelagem de dados, as regras de mapeamento são definidas para realizar a transição de um modelo de dados conceitual para um modelo de dados lógico

Regras de mapeamento:

  1. Entidades e relacionamentos: os tipos de entidade e relacionamento são mapeados para tabelas, enquanto entidades e relacionamentos são mapeados para linhas da tabela.
  2. Atributos de pesquisa de igualdade : os atributos de pesquisa de igualdade são usados ​​nas colunas que contêm a chave primária para participar da pesquisa de igualdade.
  3. Atributos de pesquisa de desigualdade : os atributos de pesquisa de desigualdade também são usados ​​nas colunas que contêm a chave primária para produzir resultados de pesquisa diferentes.
  4. Atributo de pedido: o atributo de pedido é usado para agrupar por dados em um pedido específico
  5. Atributo-chave: Essa característica ajuda a identificar as linhas exclusivas

Com base nas regras de mapeamento acima, projetamos padrões de mapeamento que servem como base para automatizar o design do banco de dados. Por meio da consulta fornecida e do modelo de dados conceitual, cada padrão define o esboço final do design do esquema.

Modelo físico

Quando o modelo lógico está em vigor, o desenvolvimento de um modelo físico é relativamente fácil. Um modelo de dados físico representa dados no banco de dados. Após a atribuição dos tipos de dados, o tamanho da partição é estimado e o teste é realizado para analisar o modelo para melhor otimização.

Para concluir, podemos dizer que quando há um enorme volume e variedade de dados à disposição para serem analisados ​​e processados. É necessário escolher uma abordagem que possa extrair com eficiência os dados a serem analisados. O Cassandra, com sua alta escalabilidade e capacidade de armazenar dados massivos, oferece recuperação rápida de informações para projetar modelos de dados para estruturas complexas. A modelagem de dados do Cassandra e toda sua funcionalidade podem ser englobadas das seguintes maneiras. Aqui, criamos um design de dados conceituais orientado a consultas e, com a ajuda das regras e padrões de mapeamento descritos, permite a transição do modelo conceitual para o modelo lógico. Em seguida, descrevemos um modelo físico para obter uma imagem mental completamente única do design.

Artigos recomendados

Este é um guia para o Cassandra Data Modeling. Aqui discutimos os princípios de modelo de tabela, modelo de consulta, modelagem de dados lógicos e modelagem de dados. Você também pode consultar os seguintes artigos para saber mais -

  1. Modelos de dados no DBMS
  2. O que é modelagem de dados?
  3. Modelagem de Data Warehouse
  4. Perguntas da entrevista do Data Analytics
  5. Os 6 principais tipos de junções no MySQL com exemplos