Введение Эволюция роли баз данных в информационных системах и функций систем управления базами данных Архитектуры СУБД и СУБД в архитектуре информационных систем Причины появления СУБД • Появление устройств прямого доступа – Выборочное обновление – Сложные структуры данных • Высокая стоимость данных в важнейших областях применения • Дублирование средств управления данными в каждом приложении • Высокая сложность создания приложений • Чрезмерная сложность организации доступа к общим (разделяемым между приложениями) данным Базы даных - введение http://WWW.math.spbu.ru/user/boris novikov/courses/ 2 Системы на лентах (до 1965 г.) • • • • Пакетная обработка Выборка данных только полным просмотром Невозможно частичное обновление Всегда создается новая копия данных Обновления Приложение Главный файл (выход) Главный файл (вход) Отчет о работе Базы даных - введение http://WWW.math.spbu.ru/user/boris novikov/courses/ 3 Устройства прямого доступа (диски) • Возможности – Доступ к небольшим участкам в произвольном порядке – Локальный обновления в произвольном порядке – Сложные структуры данных • Проблемы – Высокая стоимость и сложность программирования – Сложность модификации структур хранения – Необходимость резервного копирования Базы даных - введение http://WWW.math.spbu.ru/user/boris novikov/courses/ 4 Роль СУБД Централизация управления данными СУБД Базы даных - введение http://WWW.math.spbu.ru/user/boris novikov/courses/ 5 Функции СУБД • • • • • Независимость данных и программ Сложные структуры данных Поддержка целостности данных Высокоуровневые языки запросов Безопасность данных и защита от несанкционированного доступа • Конкурентный доступ к общим (разделяемым) данным • Согласованность данных и отказоустойчивость Базы даных - введение http://WWW.math.spbu.ru/user/boris novikov/courses/ 6 Модель языка описания данных • Обеспечивает независимость данных • Трехуровневая модель: – Внешняя схема (описывает структуры данных, предоставляемые приложению) – Концептуальная схема (описывает полную логическую структуру хранимых данных) – Схема хранения (описывает представление концептуальной схемы на носителях данных) • Никогда не была полностью реализована, но полезна как система понятий • В реальных системах схемы могут быть совмещены Базы даных - введение http://WWW.math.spbu.ru/user/boris novikov/courses/ 7 Взаимодействие приложений и СУБД: клиент-сервер • Процесс(ы) СУБД принимают и выполняют запросы прикладных программ (1965) • Сервер необходим для поддержки конкурентного доступа к разделяемым данным • Потенциально обеспечиваются все основные функции СУБД в полном объеме • Поддерживается всеми большими СУБД Базы даных - введение http://WWW.math.spbu.ru/user/boris novikov/courses/ 8 Взаимодействие приложения с СУБД: встроенные БД (1975) • Компоненты БД выполняются в процессах приложений (как подпрограммы) • Ограниченный набор функций БД (не может быть обеспечен разделяемый доступ, безопасность и отказоустойчивость) • Производительность невысока • Чаще всего – однопользовательские системы • Встраивание приложений в БД (MS Access) • Полезны в составе распределенных систем Базы даных - введение http://WWW.math.spbu.ru/user/boris novikov/courses/ 9 Взаимодействие приложений с СУБД: многослойные системы • Приложения взаимодействуют с СУБД через «средний слой» • Часть функций СУБД выполняется средним слоем • Мониторы транзакций, серверы приложений • Примеры: IBM CICS (1967), BEA Tuxedo, BEA WebLogic, … Базы даных - введение http://WWW.math.spbu.ru/user/boris novikov/courses/ 10 БД, СУБД, Экземпляр • База данных: совокупность хранимых данных (вместе с их описанием) • Система управления базами данных (СУБД): программный комплекс, обеспечивающий доступ к данным • Экземпляр (instance) сервера БД: СУБД, находящаяся в состоянии выполнения и готовая к приему и выполнению запросов приложений Базы даных - введение http://WWW.math.spbu.ru/user/boris novikov/courses/ 11 Компоненты СУБД • (Сетевой) интерфейс для приложений • Средства описания данных (язык и компилятор) • Обработчик запросов – Компилятор – Оптимизатор – Интерпретатор • • • • • Подсистема хранения Диспетчер транзакций Средства обеспечения отказоустойчивости Утилиты Инструменты администратора БД Базы даных - введение http://WWW.math.spbu.ru/user/boris novikov/courses/ 12 Архитектуры баз данных • • • • • Централизованные системы Параллельные СУБД Распределенные базы данных Неоднородные федерации БД Неоднородные слабосвязанные комплексы информационных ресурсов Базы даных - введение http://WWW.math.spbu.ru/user/boris novikov/courses/ 13 СУБД • Серверы баз данных – Высокопроизводительные • • • • IBM DB2 Oracle, MS SQL Server Sybase – Недорогие • Моды часто меняются • Встроенные – MS Access, Paradox, … Базы даных - введение http://WWW.math.spbu.ru/user/boris novikov/courses/ 14 Примеры баз данных • Очень большие объемы данных – Хранилища данных больших сетей магазинов (порядка 100 Терабайт) • Очень большое количество пользователей и транзакций – Тысячи соединений и десятки тысяч транзакций в секунду • Очень сложная схема – Системы управления предприятием (более 25 тысяч таблиц) • Этот курс в основном ориентирован на БД среднего размера • Небольшие системы: не требуют заботы профессионалов Базы даных - введение http://WWW.math.spbu.ru/user/boris novikov/courses/ 15