Базы данных и СУБД

advertisement
Введение
Эволюция роли баз данных в
информационных системах и
функций систем управления базами
данных
Архитектуры СУБД и СУБД в
архитектуре информационных систем
Причины появления СУБД
• Появление устройств прямого доступа
– Выборочное обновление
– Сложные структуры данных
• Высокая стоимость данных в важнейших областях
применения
• Дублирование средств управления данными в
каждом приложении
• Высокая сложность создания приложений
• Чрезмерная сложность организации доступа к
общим (разделяемым между приложениями)
данным
Базы даных - введение
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
Download