- •Конспект лекций не официальный, возможны ошибки! Еремеев н.Б.
- •Распределенная база данных
- •Пример транзакции
- •Пример рбд
- •Прямые и косвенные соединения
- •Объекты: схемы и именования в рбд
- •Удаленные и распределенные предложения
- •Прозрачность в системе рбд
- •Архитектура рбд Oracle
- •Прозрачность в рбд. Прозрачность местоположения.
- •Прозрачность транзакций.
- •Прозрачность дублирования.
- •Разрешение имен в рбд
- •Снимки.
- •Двухфазный commit.
- •Фаза подготовки.
- •Фаза подтверждения
- •Создание точки подтверждения.
- •Проектирование распределенных приложений.
- •Уникальность имен.
- •Последовательности в распределенных транзакциях.
- •Обработка ошибок в удаленных процедурах.
- •Разрешение проблем распределенных транзакций
- •Снимки. Управление ими.
- •Спецификация определяющего запроса снимка (as ...).
- •Порядок создания снимков и их журналов:
- •Альтернативы снимкам.
- •Дублирование таблиц с помощью триггеров:
- •Создание триггера
- •Управление снимками
- •Создание снимков
- •Установление параметров памяти для снимков.
- •Конфигурирование автоматических обновлений
- •Ручное обновление снимков.
- •Связь между декларативными ограничениями и снимками.
- •Управление журналами снимков.
- •Внутренняя реализация журнала снимка.
- •Удаление журнала снимков.
- •Управление распределенными бд администратором.
- •Принципы простроения глобального имени бд:
- •Безопасность бд.
- •Характеристики и квоты различных табличных пространств.
- •Ресурсные лимиты и профили пользователей.
- •Лицензирование.
- •Привилегии и роли.
- •Защита таблиц.
- •Защита обзоров:
- •Усиление защиты таблиц через обзоры:
- •Защита процедур.
- •Табличные пространства и файлы данных Файлы данных
- •Табличное пространство
- •Объекты табличного пространства
- •Блок данных
- •Экстенты
- •Сегменты
- •Копирование и восстановление баз данных
- •Рекомендации по копированию баз данных.
- •Стратегии копирования Стратегии копирования в режиме no archive log
- •Стратегии копирования в режиме archive log
- •Процедуры копирования.
- •Процедура полного копирования базы данных
- •Восстановление
- •Опции предложений Audit и NoAudit.
- •Дополнительные опции по аудиту предложений:
- •Включение аудита
- •Выключение аудита.
- •Контролирование роста и размера аудиторского журнала.
- •Защита аудиторского журнала
- •Аудит с помощью триггеров
- •Поддержка национальных языков.
- •Лингвистическая сортировка.
- •Перекрытие стандартных умолчаний.
- •Форматы чисел и дат.
- •Объекты в Oracle.
- •Атрибуты
- •Сравнение объектов
- •Синтаксис объявления типов
- •Объявление и инициализация объектов
- •Вызов методов
- •Хранение объектов в бд
- •Использование оператора select
- •Вставка объектов
- •Обновление объектов
- •Удаление объектов
Прозрачность в системе рбд
Цели прозрачности:
прозрачность должна предоставлять методы, позволяющие скрыть физическое местоположение объектов во всей системе от приложений и пользователей;
она имеет место, если пользователь обращается к одной и той же таблице одним и тем же способом независимо от узла, к которому присоединяется этот пользователь.
Преимущества прозрачности:
доступ к удаленным БД упрощается, т.к. не нужно знать, где находятся конкретные БД;
объекты можно перемещать, не оказывая влияния на конечных пользователей или приложений БД.
РБД должна обеспечивать прозрачность запросов, обновлений и транзакций.
Прозрачность транзакций имеет место при использовании СУБД стандартных команд SQL: ROLLBACK, COMMIT, SAVE POINT (установка промежуточной транзакции до определенной точки). Этим обеспечиваются возможности :
предложения в одной транзакции могут обращаться к любому числу локальных и удаленных таблиц;
СУБД должна гарантировать, что все узлы вовлеченные в распределенную транзакцию, будут делать одно и тоже (они либо подтверждают, либо отвергают транзакцию в зависимости от того каким предложением заканчивается транзакция COMMIT – подтверждает, ROLLBACK - отменяет.).Если во время подтверждения распределенной транзакции происходит сбой сети или системы, то разрешение транзакции в глобальном масштабе осуществляется автоматически или прозрачно: либо подтверждает при положительном опросе всех узлов системы, либо отменяет в обратном случае.
Архитектура распределенной СУБД должна предоставлять возможности прозрачного дублирования данных среди узлов системы. Это означает, что поддерживание копий таблиц среди БД в РБД желательно по следующим причинам:
таблицы, которые часто опрашиваются, но часто обновляются, будут быстрее доступны локальным сессиям пользователей, потому что не требуется их передача по сети.
если БД, содержащая критическую таблицу, долгое время находится в нерабочем состоянии, то копии этой таблицы в других БД будут по-прежнему доступны.
Архитектура рбд Oracle
Схема именования объектов и доступ к данным:
SELECT * from Scott.EMP@Sales.division3.acme.com
где
Scott – схема, Emp – таблица, Sales.division3.acme.com - физическое местоположение.
РБД работают только в сети TCP/IP. После @ следует обычный доменный адрес узла, т.е. на ПК должна быть настроена система DNS.
Замечание: Oracle не проверяет уникальность глобального имени и не сохраняет его в распределенных словарях объектов, данных; однако, Oracle гарантирует, что имя объекта уникально в его собственной локальной БД.
Прозрачность в рбд. Прозрачность местоположения.
Прозрачность местоположения можно обеспечить тремя способами:
с помощью видов (обзоров)
CREATE VIEW company AS SELECT * from Scott.Emp@…;
где company – имя вида
После выполнения этой команды можно выполнить: SELECT * from company;
с помощью синонимов (скрывает идентификатор объекта)
CREATE PUBLIC SYNONIM emp for Scott.Emp@…;
где PUBLIC означает, что синоним Emp будет доступен в специальной схеме.
с помощью встроенных процедур.
Ограничения:
внутри одного предложения SQL все адресуемые столбцы Long и LongRaw, последовательности, обновляемые таблицы и блокируемые таблицы должны быть расположены на одном и том же узле;
Oracle не допускает выполнение удаленных предложений Data Definition Language:
CREATE
ALTER
DROP
Нельзя создавать на удаленных сессиях синонимы, виды. Там необходимо локально зарегистрироваться, а затем на этом удаленном узле уже можно создавать виды и синонимы.
