- •1.Сферы применения баз данных и субд
- •2.Базы данных и файловые системы. Области применения файлов. Потребности информационных систем.
- •4.Ранние подходы к организации бд.
- •5.Реляционный подход к организации бд. Базовые понятия реляционных баз данных.
- •6.Фундаментальные свойства отношений. Реляционная модель данных.
- •7.Базисные средства манипулирования реляционными данными. Реляционная алгебра. Реляционные исчесления.
- •8. Проектирование реляционных бд. Нормализация.
- •9.Основные понятия модели Сущность-связь. Er – диаграммы.
- •10. Система System r. Основные цели System r.
- •11. Структуры внешней памяти, методы организации индексов. Хранение отношений.
- •12. Та и целостность бд. Сериализация та-ий.
- •13. Изолированность пользователей.
- •15. Журнализация изменений бд. Журнализация и буферизация.
- •16. Восстановление баз данных в различных ситуациях.
- •17. Язык sql, функции и основные возможности. Стандартизация sql.
- •18. Типы данных языка sql. Средства определения схемы.
- •19. Язык sql, средства манипулирования данными. Структура запросов.
- •20. Использование sql при прикладном программировании.
- •21. Проблемы оптимизации. Схема обработки запроса.
- •22. Архитектура "клиент-сервер". Серверы баз данных.
- •23. Распределенные бд.
- •24. Системы управления базами данных следующего поколения.
- •25. Оосубд.
- •26. Системы баз данных, основанные на правилах. Активные и дедуктивные базы данных.
23. Распределенные бд.
РБД состоит из нескольких фрагментов, размещенных на разных узлах сети и возможно управляемых разными СУБД. Инф-я о каждой части хранится в словаре данных. Он хранитсяна одном из узлов или тоже распределен.
«+»: пользователи узлов всегда обеспечены актуальной инф-ей; Экономное использ-е памяти.
«-»: высокие требования к каналам связи.
Доступ к данным.
Методы: монопольный, коллективный.
Монополь: 1) когда треб исключить доступ к объекту со стороны др. польз-ей; 2) когда производится ответственные операции с БД, не допускающие других действий. В 1-м случае уст-ся блокировка. Во 2-м – явная блокировка или положиться на СУБД.
Виды блокировок:
Полная 2.Блокировка от записи. 3.Предохраняющая блокировка от записи
4. Предохраняющая полная блокировка.
Первая распределенная СУБД System R*.
Пользователи остаются в среде языка SQL. Это возможно благодаря обеспечению прозрачности местоположения данных.
всякая лок. БД администрируется независимо от других: нет центральной службы именования объектов, в узлах не треб-ся наличие глобального знания об операциях, выполняемых в других узлах.
Высокая степень эффективности системы является одним из наиболее ключевых требований к распределенным системам управления базами данных вообще и к System R* в частности. Для достижения этой цели используются 2 основных приема: 1) выполнению запроса предшествует его компиляция; 2) возможность перемещения удаленных отношений в локальную базу данных.
В System R* реализовано:
Средства именования объектов и организации распределенного каталога
Распределенная компиляция и выполнение запросов
Средства оптимизации запросов
Представление
Средства управления ТА-ми
Синхронизация
Алгоритм обнаружения тупиков
. В System R* не реализовано:
Горизонтальное и вертикальное распределение отношений
Дублирование отношений в нескольких узлах с поддержкой согласованности копий
Поддержка мгновенных снимков состояния БД в соответствии с запросом.
Новое в организации распределенного каталога и как решался вопрос именования:
Системное имя отношения включает четыре компонента: идентификатор пользователя-создателя отношения; идентификатор узла сети, в котором выполнялась операция создания отношения; локальное имя отношения, присвоенное ему при создании; идентификатор узла, в котором отношение располагалось непосредственно после своего создания.
В SR* распределенная компиляция. Компиляция запроса производится на этапе компиляции прикладной программы или в динамике при выполнении ТА..
Будем называть главным узлом тот узел сети, в котором инициирован процесс компиляции предложения SQL, и дополнительными узлами - те узлы, которые вовлекаются в этот процесс в ходе его выполнения.
На самом грубом уровне процесс компиляции можно разбить на следующие фазы:
1. В главном узле производится грамматический разбор предложения SQL с построением внутреннего представления запроса в виде дерева. Локальные имена меняются на системные идентификаторы.
2. В главном узле генерируется глобальный план выполнения запроса
3. Если в глобальном плане выполнения запроса участвуют дополнительные узлы, производится его декомпозиция, части рассылаются по узлам.
4. в узлах послед стадии компиляции, оптимизация и генерация машинных кодов.
ТА явл распределенными. Начин-ся на главном узле, что влечет инициирование ТА в доп. узлах.
В SR* новое возникает в связи с появлением тупиков. Проблема решается: в каждом узле периодически производится анализ на наличие возможных тупиков с учетом локальных ресурсов и данных, полученных от других узлов. При этом выявл-ся либо существующие циклы, либо потенциальные.