ТОП 10:

Технологии удалённого доступа и системы баз данных, тиражирование и синхронизация в распределённых системах баз данных.



 

1. Классическим методом поддержки многопользовательской базы данных является удаленная обработка(teleprocessing), при которой используется один компьютер и один процессор. Вся обработка производится этим единственным компьютером. Пользователи работают с неинтеллектуальными терминалами, которые передают сообщения о транзакциях и данные центральному компьютеру. Программы обращаются к СУБД, а СУБД выполняет операции с базой данных, используя ту часть операционной системы, которая отвечает за обработку данных. Когда транзакция завершается, подсистема управления связью возвращает результаты пользователям, сидящим у терминалов.

 

2. В основе клиент-серверных технологий лежат две основные идеи:

- общие для всех пользователей данные на одном или нескольких серверах;

- много пользователей (клиентов) на различных вычислительных установках, совместно (параллельно и одновременно) обрабатывающих общие данные.

Под сервером в широком смысле понимается любая система, процесс, компьютер, владеющие каким-либо вычислительным ресурсом (памятью, временем, производительностью процессора и т.д.).

Клиентом называется также любая система, процесс, компьютер, пользователь, запрашивающие у сервера какой-либо ресурс, пользующиеся каким-либо ресурсом или обслуживаемые сервером иным способом.

В структуре СУБД выделяют три компонента:

- компонент представления, реализующий функции ввода и отображения данных;

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

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

 

Исходя из особенностей реализации и распределения в системе этих компонентов, различают четыре модели технологий «Клиент-сервер»:

- модель файлового сервера (FS);

- модель удаленного доступа к данным (RDA);

- модель сервера базы данных (DBS);

- модель сервера приложений (AS).

 

Модель файлового сервера. Один из компьютеров сети определяется файловым сервером (общим хранилищем данных), а все основные компоненты СУБД размещаются на клиентских установках. В ОП клиентской установки на время сеанса работы полностью или частично копируется файл БД. Достоинства модели: простота и отсутствие высоких требований к производительности сервера. Недостатки: высокий сетевой трафик, отсутствие специальных механизмов СУБД по обеспечению безопасности данных.

Модель удаленного доступа к данным. В данной модели компонент доступа к данным реализуется в виде самостоятельной программной части СУБД, называемой SQL-сервером, и размещается на сервере. SQL-сервер выполняет низкоуровневые операции по организации, размещению, хранению и манипулированию данными. Недостатки. Высокие требования к клиентским выч. установкам, т.к. на них выполняются прикладные программы обработки данных. Значительный трафик сети, поскольку с сервера направляются клиентам наборы данных, которые могут иметь существенный объем.

Модель сервера БД. На клиентских установках размещается только интерфейсный компонент, а все остальные компоненты СУБД размещаются на сервере.Достоинства. Разгрузка сети.

Модель сервера приложений. Перенос прикладного компонента СУБД на специализированный в отношении повышенных по быстродействию ресурсов дополнительный сервер системы – сервер приложений.

На практике используются смешанные модели, когда простые прикладные функции и обеспечение ограничений целостности данных поддерживаются процедурами, хранимыми на сервере, а более сложные функции – бизнес-правила – реализуются программами, расположенными на клиентских установках или на сервере приложений. Прикладной компонент СУБД, расположенный на сервере приложений, называютмонитором транзакций.

Механизм изоляции транзакций и преодоления ситуаций несогласованной обработки данных основывается на технике сериализации транзакций. Сериализацией транзакций называется их выполнение по некоторому сериальному плану.

Методы сериализации транзакций:

- синхронизационные захваты (блокировки) объектов БД:

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

§ монопольный режим (осуществляется неразделяемый захват, требующий операций обновления данных).

- временные метки объектов БД (каждой транзакции приписывается временная метка, соответствующая моменту начала выполнения транзакции, при выполнении операции над объектом транзакция «помечает» его своей меткой и типом операции (чтение или изменение), е ли при этом другой транзакции требуется операция над уже помеченным объектом, то выполняется ряд действий по разрешению возникшей ситуации).

 

3. Технологии тиражирования (реплицирования) данных.

Основная идея тиражирования: пользователи работают автономно с одинаковыми (общими) данными, растиражированными по локальным базам данных.

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

При реализации технологии тиражирования данных возникает проблема обеспечения согласованного состояния данных, т.е. согласованного состояния во всех репликах количества и значений общих данных, а также структуры данных.

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

- Другая возможность напоминает проблему потерянного обновления: на двух компьютерах может обновляться одна и та же строка.

- Третий конфликт возникает в ситуации, когда на одном компьютере обновляется строка, удаленная на другом компьютере.

 

Решение проблемы обеспечения согласованного состояния количества и значений общих данных основывается на реализации одного из двух принципов:

- принципа непрерывного размножения обновлений (любое обновление данных в любой реплике должно быть немедленно размножено).

- принципа отложенных обновлений (обновления реплик могут откладываться до специальной команды или ситуации).

 

Принцип непрерывного размножения обновлений

Данный принцип реализуется при построении систем реального времени.

Реализация этого принципа заключается в том, что любая транзакция считается успешно завершенной, если она успешно завершена во всех репликах.

На практике реализации данного принципа препятствует возникновение тупиков. Для обнаружения и распознавания тупиков в реплицированных системах применяются те же алгоритмы, что и в мониторах транзакций централизованных систем типа «клиент-сервер».

 

Другим решением проблемы обеспечения согласованного состояния количества и значений общих данных является применение принципа отложенных обновлений (обновления реплик могут откладываться до специальной команды или ситуации). Накопленные в реплике изменения данных специальной командой пользователя направляются для обновления всех остальных реплик системы.

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

 

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

Одна из реплик БД системы объявляется главной, причем изменять структуру данных можно только в этой главной реплике. Изменения в структуре данных в главной реплике тиражируются по принципу отложенных обновлений, т.е. с помощью синхронизации реплик.

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

 

Наряду с техникой главной реплики существует возможность создания частичных реплик. Частичной репликой называется база данных, содержащая ограниченное подмножество записей главной (полной) реплики.

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

 

Простейшим способом обработки распределенной базы данных является загрузка данных только для чтения.

В этом случае обновлением всех данных в базе занимается только один компьютер, но копии данных только для чтения могут посылаться на множество (возможно, тысячи) компьютеров.







Последнее изменение этой страницы: 2017-02-22; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.237.71.23 (0.01 с.)