Transcript Лекция 6
ЛЕКЦИЯ 6
Распределенные
корпоративные системы
УЧЕБНЫЕ ВОПРОСЫ
1.
2.
Преимущества построения
распределенных систем
Распределенные системы в
Oracle
ТРЕБОВАНИЯ, ПРЕДЪЯВЛЯЕМЫЕ
ЗАКАЗЧИКОМ К СОВРЕМЕННЫМ
ПРОГРАММНЫМ ПРОДУКТАМ
Обеспечение масштабируемости систем, т.е.
способности эффективно обслуживать большое
количество клиентов одновременно.
Надежность создаваемых приложений,
подразумевает использование транзакций, т.е.
гарантированного перехода системы в процессе
функционирования из одного устойчивого и
достоверного состояния в другое.
Возможность непрерывной работы в течение
длительного времени (режим 24x7).
Высокий уровень безопасности системы.
Высокая скорость разработки приложений и
простота их сопровождения и модификации с
использованием программистов средней
квалификации.
ПРИЧИНЫ ПОСТРОЕНИЯ
РАСПРЕДЕЛЕННОЙ СИСТЕМЫ
Размещение часто используемых данных
ближе к клиенту, что позволяет
минимизировать сетевой трафик.
Расположение часто меняющихся данных в
одном месте, обеспечивающее минимизацию
затрат по синхронизации копий данных.
Увеличение надежности комплекса к
единичным отказам серверов (горячее
резервирование).
Понижение стоимости системы за счет
использования группы небольших серверов
вместо одного мощного центрального сервера.
Для систем, где есть четко выраженные группа
меняющихся данных и группа устойчивых данных,
по которым выполняются отчеты, работают два
сервера: один обслуживает часто меняющиеся
данные — это OLTP (On-Line Transaction
Processing), второй — отчеты, то есть DSS (Decision
Support System).
Преимущества создания распределенной
системы имеют свою цену — должны быть
обеспечены:
Непротиворечивость данных, независимо от того,
какой клиент к какому серверу обратился.
Производительность распределенной базы данных
должна удовлетворять требованиям заказчика, а
это может оказаться более сложной задачей, чем в
случае централизованной базы данных.
Надежность распределенной базы данных не
должна уступать надежности централизованной
базы данных.
В РАСПРЕДЕЛЕННОЙ БАЗЕ ДАННЫХ МОГУТ
БЫТЬ ИСПОЛЬЗОВАНЫ СЛЕДУЮЩИЕ ТИПЫ
ВЫЗОВОВ:
Удаленные DDL- и DML- операции, а также
выборка данных.
Синхронные удаленные вызовы процедур.
Асинхронные удаленные вызовы процедур.
Непротиворечивые снимки.
Асинхронная симметричная репликация.
Синхронная симметричная репликация.
Вызов распределенного запроса (запрашивает
данные на чтение и модификацию с
нескольких узлов).
РАСПРЕДЕЛЕННЫЕ БД В ORACLE
Серверы взаимодействуют друг с другом с
помощью протокола SQL*Net. Ссылки друг на
друга - так называемые каналы связи БД
(database links) - серверы хранят в качестве
объектов БД. В свою очередь полное имя
объекта может включать в себя канал связи:
это, безусловно, требует обеспечения
уникальности имен серверов в сети, что
достигается с помощью иерархической
организации доменов .
СИНХРОННАЯ СВЯЗЬ БЕЗ
ТИРАЖИРОВАНИЯ ДАННЫХ
Используемая схема алгоритма двухфазной
фиксации сводится к тому, что на первой фазе
(подготовке к фиксации) сервер-инициатор
транзакции рассылает соответствующий запрос
другим серверам (находящимся для него "в
непосредственной видимости") и ждет ответа.
Если все затронутые транзакцией серверы
информируют о готовности к ее завершению в
своих ответах, инициируется вторая фаза собственно завершение транзакции.
ТИРАЖИРОВАНИЕ ДАННЫХ
Предлогается хранить объекты данных в
распределенной БД не в единственном
экземпляре, а тиражировать их на всех
серверах, где к ним может потребоваться
быстрый доступ. Естественно при этом
возникает необходимость каким-либо образом
обеспечить синхронизацию различных копий
одних и тех же данных, иначе распределенная
БД потеряет свою целостность.
ВАРИАНТЫ ТИРАЖИРОВАНИЯ ДАННЫХ
В ORACLE
Механизм неизменяемых снимков (read-only
snapshots). Он подразумевает создание удаленной
копии таблицы, которая доступна только на чтение
и обновляется по заданному сценарию и
расписанию.
Организация изменяемых снимков,
предоставляющая возможность модификации
удаленных копий.
Тиражирование с множественными
хозяевами (multi-master site replication). При
данном варианте полностью тиражируются целые
наборы объектов БД. все хозяева их копий
становятся равноправными. Любые изменения
тиражированных данных непосредственно
передаются всем хозяевам.
ПОДДЕРЖКА РЕЗЕРВНОЙ КОПИИ БД
Резервная БД недоступна для пользователей
одновременно с основной. Для поддержания
соответствия резервной и основной баз данных
используются журнальные файлы изменений,
вообще говоря, предназначенные для
восстановления БД после сбоев. Резервная БД
как раз и функционирует в режиме
перманентного восстановления, считывая
журнальные файлы основной БД, переданные
тем или иным способом на резервный сервер.