Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_bd.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
1 Мб
Скачать
☆

2.1. Прозрачность сети

Клиент и сервер взаимодействуют по сети с конкретной топологией; для поддержки взаимодействия всегда используется определённый протокол. Следовательно, взаимодействие должно быть организовано таким образом, чтобы обеспечивать независимость как от используемого сетевого аппаратного обеспечения, так и от протоколов сетевого обмена. Чтобы обеспечить прозрачный доступ пользователей и программ к удалённым данным в сети, объединяющей разнородные компьютеры, коммуникационный сервер должен поддерживать как можно более широкий диапазон сетевых протоколов (TCP/IP, DECnet, SNA, SPX/IPX, NetBIOS, AppleTalk, и др.).

2.2. Автоматическое преобразование форматов данных

Как только несколько компьютеров различных моделей под управлением различных операционных систем соединяются в сеть, сразу возникает вопрос о согласовании форматов представления данных. В сети могут быть компьютеры, отличающиеся:

 разрядностью (16-ти, 32-х и 64-х разрядные процессоры);

 порядком следования байт в слове;

 представлением чисел с плавающей точкой, и т.д.

Задача коммуникационного сервера состоит в том, чтобы на уровне обмена данными обеспечить согласование их форматов между удалённым и локальным узлами так, чтобы данные, извлечённые из базы данных сервером на удалённом узле и переданные по сети, были бы правильно истолкованы прикладной программой на локальном узле.

2.3. Автоматическая трансляция кодов

В неоднородной компьютерной среде при взаимодействии клиента и сервера возникает также задача трансляции кодов. Сервер может работать с одной кодовой таблицей (например,

EBCDIC), клиент – с другой (например, ASCII), при этом происходит рассогласование трактовки кодов символов. Поэтому, если на локальном узле используется одна кодовая таблица, а на удалённом – другая, то при передаче по сети запросов и при получении ответов на них необходимо обеспечить трансляцию кодов. Решение этой задачи также ложится на коммуникационный сервер.

2.4. Межоперабельность

В контексте РБД межоперабельность означает две вещи.

1. Качество, позволяющее обмениваться данными между базами данных различных поставщиков. Как, например, тиражировать данные из базы данных Informix в Oracle и наоборот?

Штатные средства тиражирования в составе данной конкретной СУБД позволяют переносить данные в однородную базу. Как быть в неоднородной РБД? Ответом стало появление продуктов, выполняющих тиражирование между разнородными базами данных.

2. Возможность некоторого унифицированного доступа к данным в РБД из приложения. Здесь

возможны:

 универсальные решения (например, стандарт ODBC),

 специализированные подходы.

Очевидный недостаток ODBC – недоступность для приложения многих полезных механизмов каждой конкретной СУБД, поскольку они могут быть использованы в большинстве случаев только через расширения SQL в диалекте языка данной СУБД, но в стандарте ODBC эти расширения не поддерживаются.5

Специальные подходы – это, например, использование шлюзов, позволяющее приложениям оперировать над базами данных в "чужом" формате так, как будто это собственные базы данных.

И это не все сетевые проблемы. В реальной жизни сервер базы данных должен обслуживать одновременно множество запросов от клиентов. И все проблемы взаимодействия, о которых речь шла выше, должны решаться коммуникационным сервером для всех этих взаимодействий.

3. Свойства DDB: локальная автономия, независимость узлов, непрерывные операции, обработка распределённых транзакций.

1. Локальная автономия Это качество означает, что управление данными на каждом из узлов распределённой системы выполняется локально. База данных, расположенная на одном из узлов, является неотъемлемым компонентом распределённой системы, но в то же время функционирует как полноценная локальная база данных; управление ею выполняется локально и независимо от других узлов системы.

4.2. Независимость узлов

В идеальной системе все узлы (data site) равноправны и независимы, а расположенные на них базы являются равноправными поставщиками данных в общее пространство данных. База даных на каждом из узлов самодостаточна – она включает полный собственный словарь данных и полностью защищена от несанкционированного доступа.

4.3. Непрерывные операции

Это качество можно трактовать как возможность непрерывного доступа к данным (известное "24 часа в сутки, семь дней в неделю") в рамках РБД независимо от их расположения и от опраций, выполняемых на локальных узлах. Это качество можно выразить лозунгом: "Данные доступны всегда, а операции над ними выполняются непрерывно".

4.4. Обработка распределённых транзакций

Это качество РБД (обработка распределённых транзакций) можно трактовать как возможность выполнения операций обновления распределённой базы данных (INSERT, UPDATE, DELETE), не разрушающее целостность и согласованность данных.

Введём классификацию типов запросов.6

Дистанционный запрос – единичный запрос, передаваемый на обработку некоторому, но только одному, серверу РБД.

Дистанционная транзакция – транзакция, состоящая из нескольких запросов, передаваемая единственному серверу РБД.

Распределённая транзакция – транзакция, состоящая из нескольких запросов, передаваемая различным серверам РБД, однако каждый из запросов обрабатывается только одним сервером.

Распределённый запрос – запрос, при обработке которого требуется участие нескольких серверов; каждый запрос обрабатывается несколькими серверами, но эта обработка остается прозрачной для клиента.

При обработке распределённых транзакций один из серверов (процесс sqlturbo – Informix) выполняет роль координатора, другие сервера, содержащие таблицы, являются участниками распределённой транзакции. Координатор отвечает за инициализацию требований к другим участникам транзакции и принимает от них ответы. Обычно координатором является сервер, на котором находится текущая БД.

Согласованность данных достигается применением двухфазного протокола фиксации транзакций (two-phase commit protocol), ставшего фактическим стандартом обработки распределённых транзакций. Его применение гарантирует согласованное изменение данных на нескольких узлах в рамках распределённой транзакции.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]