Лекция 2_Модели данных
.pdfМодели данных
Модели и развитие БД
NoSQL системы
Документоориентированные (MongoDB)
•Слабоструктурированные данные, формат XML, JSON
•Выборка по свойствам
•Структура и данные не разделены
•Поддерживают запросы, позволяющие находить
документы по значениям определенных полей
Ключ-значение (Redis)
•Позволяет эффективно организовывать распределенных хранилища разнородных данных
•Значение – произвольной структуры
•Чтобы получить значение, нужно обязательно знать ключ; выборки по каким-либо другим параметрам значения не поддерживаются
21
Модели данных
Модели и развитие БД
NoSQL системы
Столбчатые (Cassandra)
•Одна большая таблица
•Значения хранятся по столбцам
•Информация о фактах хранится в виде разреженной матрицы, строки и столбцы которой используются как
ключи
Графовые (Neo4j)
•Данные в узлах
•Данные на ребрах
•Хранятся ребра, поэтому дополнительных вычислений для обхода графа не требуется
•Для выборки подграфов используется специальный язык запросов
22
Модели данных
Модели и развитие БД
NoSQL системы
Достоинства
•Большой выбор
•Производительность работы, достаточная для выбранного типа задач
•Гибкость, отсутствие жестких модельных ограничений
Недостатки
•Многое из стандартного для классических моделей функционала реализуется в коде приложения, а не на уровне сервисов СУБД
•Неразвитые оптимизаторы запросов
•Слабые средства контроля за целостностью и согласованностью данных
23
Модели данных
Модели и развитие БД
Семантические модели данных
Широко используются при проектировании БД Примеры:
• Модель «Сущность-Связь» или ER-модель
(Различные нотации: Чена, Баркера, IDEF1 и т.д.)
-Описываем структуры и особенности взаимосвязей между ними
•Концептуальные объектные модели
((Unified Modeling Language или UML – Диаграмма классов и др.)
-Описываем структуры и особенности взаимосвязей между ними
-Описываем операции над структурами данных
24
Модели данных
Модели и развитие БД
Семантические модели данных
Примеры проектирования схемы в модели «сущность-связь»
25
Модели данных
Вопросы для самоконтроля
1.Дайте определение понятию “Модель данных”.
2.Какие компоненты можем выделить в составе развитой модели данных?
3.Каковы методы идентификации объектов данных Вы знаете?
4.В чем отличие навигационного доступа к данным от ассоциативного?
5.Какие преимущества возникают при использовании независимости данных?
6.Что означает термин «гранулярность данных»?
7.Назовите примеры известных типов моделей данных и их отличительные особенности.
8.Какими общими характеристиками обладают системы, относящиеся к классу
NoSQL?
9.В чем особенность семантических моделей данных, где они применяются?
26