Лекция 6

Download Report

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). При
данном варианте полностью тиражируются целые
наборы объектов БД. все хозяева их копий
становятся равноправными. Любые изменения
тиражированных данных непосредственно
передаются всем хозяевам.
ПОДДЕРЖКА РЕЗЕРВНОЙ КОПИИ БД

Резервная БД недоступна для пользователей
одновременно с основной. Для поддержания
соответствия резервной и основной баз данных
используются журнальные файлы изменений,
вообще говоря, предназначенные для
восстановления БД после сбоев. Резервная БД
как раз и функционирует в режиме
перманентного восстановления, считывая
журнальные файлы основной БД, переданные
тем или иным способом на резервный сервер.