Обзор моделирования данных в Apache Cassandra
В этой статье мы узнаем об этих трех моделях данных в Cassandra: концептуальной, логической и физической.
Задача обучения:
- Создать базу данных с помощью методов быстрого проектирования в Cassandra.
- Чтобы улучшить существующую модель, используя методологию на основе запросов в Cassandra.
- Оптимизировать существующую модель с помощью методов анализа и проверки в Cassandra.
Моделирование данных в Apache Cassandra:
В Apache Cassandra моделирование данных играет жизненно важную роль для управления огромным объемом данных с помощью правильной методологии. Методология - один из важных аспектов Apache Cassandra. Моделирование данных описывает стратегию в Apache Cassandra.
1. Концептуальная модель данных:
Концептуальная модель - это абстрактное представление о вашей области. Это не зависит от технологии. Концептуальная модель не является специфической для какой-либо системы баз данных.
Цель:
- Чтобы понять данные, которые применимы для моделирования данных.
- Определить Существенные объекты.
- Чтобы определить ограничения, применимые для моделирования данных.
Преимущества концептуального моделирования данных в Cassandra - это совместная работа.
Модель сущности-отношения (ER):
Диаграмма ER будет представлять абстрактное представление модели данных и давать наглядное представление. Диаграмма ER упростила модель данных. Например, давайте рассмотрим пример, в котором количество элементов 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 по доступной для студентов цене и будьте готовы к работе в отрасли.