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