Обзор моделирования данных в Apache Cassandra

Опубликовано: 17 Февраля, 2022

В этой статье мы узнаем об этих трех моделях данных в Cassandra: концептуальной, логической и физической.

Задача обучения:

  • Создать базу данных с помощью методов быстрого проектирования в Cassandra.
  • Чтобы улучшить существующую модель, используя методологию на основе запросов в Cassandra.
  • Оптимизировать существующую модель с помощью методов анализа и проверки в Cassandra.

Моделирование данных в Apache Cassandra:
В Apache Cassandra моделирование данных играет жизненно важную роль для управления огромным объемом данных с помощью правильной методологии. Методология - один из важных аспектов Apache Cassandra. Моделирование данных описывает стратегию в Apache Cassandra.

1. Концептуальная модель данных:
Концептуальная модель - это абстрактное представление о вашей области. Это не зависит от технологии. Концептуальная модель не является специфической для какой-либо системы баз данных.

Цель:

  • Чтобы понять данные, которые применимы для моделирования данных.
  • Определить Существенные объекты.
  • Чтобы определить ограничения, применимые для моделирования данных.

Преимущества концептуального моделирования данных в Cassandra - это совместная работа.

Модель сущности-отношения (ER):
Диаграмма ER будет представлять абстрактное представление модели данных и давать наглядное представление. Диаграмма ER упростила модель данных. Например, давайте рассмотрим пример, в котором количество элементов m: n, в котором отношение «многие ко многим» между студентом и курсом означает, что многие студенты могут записаться на многие курсы, а многие курсы записаны многими студентами.




Рисунок - ER-диаграмма для концептуальной модели в Cassandra с мощностью M: N


В этом примере s_id, s_name, s_course, s_branch - это атрибут сущности студента, а p_id, p_name, p_head - атрибут сущности проекта, а 'enrolled in' - отношение в записи ученика. Таким образом мы преобразуем диаграмму ER в концептуальную модель данных.

 Студент (S_id, S_name, S_branch, S_course)
Проект (P_id, P_name, P_head)
зарегистрирован в (S_id, P_id, S_name)

Рабочий процесс приложения:
В каждом приложении есть рабочий процесс, в котором есть задача и зависимости, такие как В приложении, в котором несколько студентов хотят записаться для многих проектов.




Рисунок - Блок-схема модели данных


Это фактическая блок-схема модели данных от DataStax.

2. Логическая модель данных:
В логической модели данных мы определим каждый атрибут, поле или столбец с такой функциональностью, что S_id является ключевым разделом в Student Entity, а P_id - ключом раздела в Project Entity. Ключ раздела играет жизненно важную роль в Cassandra, в которой мы можем выполнить запрос соответствующим образом. В Cassandra Partition ключ полезен, когда мы будем выполнять CQL-запрос, а также при индексации. Например, в реляционной базе данных этот запрос будет работать, но в Cassandra он не будет работать так.

Select * 
From student_data 
Where S_branch = "CSE"; 

Поскольку в Cassandra S_branch не является частью ключа раздела таблицы, поэтому сначала определен ключ раздела для такого типа запроса в Cassandra.

 Выбирать * 
От student_data 
Где S_id = '123';

Этот запрос отлично работает в Кассандре.




Фигура -


3. Физическая модель данных:
В этой модели данных мы опишем таблицу Query, и мы напишем запрос для построения таблицы, и это одна из реальных моделей данных, где нам нужно написать Query, который требуется специально, и реализовать функциональность базы данных, которую мы действительно хотим. Например, давайте определим таблицу одну за другой для базы данных student_record с помощью запроса CQL.

Таблица: Студент

 СОЗДАТЬ ТАБЛИЦУ student_record.student
 ( 
  S_id int,
  S_name текст,
  S_отрасль,
  S_course,
  ПЕРВИЧНЫЙ КЛЮЧ ((S_id), S_name),
 );

Таблица: Проект

 СОЗДАТЬ ТАБЛИЦУ student_record.Project
 ( 
  P_id int,
  P_name текст,
  P_head,
  ПЕРВИЧНЫЙ КЛЮЧ (P_id),
 );

Таблица: Enrolled_in

 СОЗДАТЬ ТАБЛИЦУ student_record.Enrolled_in
 ( 
  S_id int,
  P_id int,
  S_name текст,
  ПЕРВИЧНЫЙ КЛЮЧ ((S_id, P_id), S_name)),
 );

Вниманию читателя! Не переставай учиться сейчас. Ознакомьтесь со всеми важными концепциями теории CS для собеседований по SDE с помощью курса теории CS по доступной для студентов цене и будьте готовы к работе в отрасли.