Практическое занятие № 19
Тема: Обработка данных в объектно-ориентированных базах данных.
Цель работы: изучить основные понятия в объектно-ориентированных базах данных (ООБД).
Приобретаемые умения и навыки: понимание объектно-ориентированного подхода к моделированию данных.
Норма времени: 2 часа.
Оборудование: компьютер с установленным программным обеспечением и подключенный к Internet.
Теоретические сведения:
В отличие от реляционных баз данных (РБД), которые хранят данные в таблицах, ООБД хранят данные в виде объектов, обладающих свойствами (атрибутами) и методами (функциями). Это позволяет хранить более сложные и взаимосвязанные данные, близкие к реальному миру.
Основные особенности:
Хранение объектов: Данные организованы в виде объектов, имеющих собственные атрибуты и методы. Это позволяет хранить сложные структуры данных, включая вложенные объекты и коллекции.
Наследование: Объекты могут наследоваться друг от друга, что обеспечивает повторное использование кода и упрощает моделирование сложных иерархий.
Полиморфизм: Объекты могут иметь различные реализации одних и тех же методов, что позволяет обрабатывать данные гибко и адаптировать систему к изменениям.
Инкапсуляция: Свойства и методы объекта скрыты от внешнего доступа, что повышает безопасность данных и упрощает модификацию кода.
Управление версиями: Некоторые ООБД поддерживают управление версиями объектов, что позволяет отслеживать изменения данных и возвращаться к предыдущим состояниям.
Запросы: Запросы к ООБД могут быть более сложными, чем в РБД, так как они могут включать вызовы методов объектов. Часто используются языки запросов, ориентированные на навигацию по объектной модели, а не на реляционную алгебру.
Инструменты мониторинга нагрузки сервера
Для мониторинга нагрузки сервера, на котором работает ООБД (или любая другая база данных), используются различные инструменты, которые можно разделить на несколько категорий:
Системные утилиты: top, htop (Linux), Resource Monitor (Windows) – показывают общую загрузку процессора, памяти, использование диска.
Инструменты мониторинга сервера: Zabbix, Nagios, Prometheus – комплексные системы мониторинга, которые позволяют отслеживать различные параметры сервера, включая производительность базы данных. Они позволяют настраивать оповещения при превышении пороговых значений.
Инструменты мониторинга баз данных: Для конкретных СУБД (например, MongoDB, db4o) существуют собственные инструменты мониторинга, которые предоставляют подробную информацию о производительности базы данных, например, время выполнения запросов, количество соединений, использование памяти.
Профилировщики: Эти инструменты (например, YourKit, JProfiler) позволяют анализировать производительность приложения и выявлять узкие места в коде, которые влияют на нагрузку на сервер.
Ход работы
Выберите один правильный ответ из предложенных вариантов.
Что является основной единицей хранения данных в ООБД?
a) Таблица b) Запись c) Объект d) Атрибут
Что такое инкапсуляция в ООБД?
a) Наследование свойств b) Сокрытие данных c) Полиморфизм методов d) Управление версиями
Что позволяет наследование в ООБД?
a) Повторное использование кода b) Увеличение размера базы данных c) Сложные запросы d) Удаление данных
Что такое полиморфизм в ООБД?
a) Один метод, разные реализации b) Один объект, разные свойства c) Одна таблица, разные записи d) Одна база данных, разные объекты
Какие данные проще моделировать в ООБД?
a) Простые табличные данные b) Сложные иерархические данные c) Текстовые данные d) Числовые данные
top – это:
a) Язык запросов для ООБД b) Инструмент мониторинга базы данных c) Системная утилита мониторинга d) Профилировщик
Zabbix – это:
a) Системная утилита b) Инструмент мониторинга сервера c) Профилировщик d) Язык программирования
Resource Monitor – это:
a) Инструмент мониторинга ООБД b) Системная утилита мониторинга (Windows) c) Язык запросов d) Профилировщик
Какой показатель важен при мониторинге нагрузки БД?
a) Количество пользователей в сети b) Время выполнения запросов c) Количество открытых файлов d) Температура процессора
Профилировщики используются для:
a) Мониторинга нагрузки сети b) Анализа производительности приложения c) Управления базами данных d) Создания резервных копий
Верно ли, что ООБД всегда быстрее РБД?
a) Да b) Нет
Может ли ООБД хранить вложенные объекты?
a) Да b) Нет
Поддерживают ли все ООБД управление версиями?
a) Да b) Нет
Какие запросы сложнее в ООБД или РБД?
a) В ООБД b) В РБД
Какие утилиты полезны для мониторинга использования памяти сервера?
a) top, htop b) MongoDB Compass c) Nagios d) JProfiler
Может ли Nagios отслеживать производительность БД?
a) Да b) Нет
Для чего нужен JProfiler?
a) Мониторинг сети b) Анализ кода на производительность c) Управление БД d) Резервное копирование
Что такое OODBMS?
a) Объектно-ориентированная система управления базами данных b) Реляционная система управления базами данных c) Язык запросов d) Системная утилита
Какой показатель не относится к мониторингу производительности БД?
a) Время отклика запросов b) Количество подключений c) Температура видеокарты d) Использование памяти
Преимущества ООБД над РБД:
a) Только скорость b) Только простота c) Более сложная модель данных d) Более естественное представление данных
Контрольные вопросы:
1. В чем основное отличие объектно-ориентированных и реляционных баз данных?
2. Что такое инкапсуляция в контексте ООБД и почему она важна?
3. Объясните понятие наследования в ООБД.