Распределенные базы данных.
Системы распределенных вычислений появляются, прежде всего, по той причине, что в крупных автоматизированных информационных системах, построенных на основе корпоративных сетей, не всегда удается организовать централизованное размещение всех баз данных и СУБД на одном узле сети. Поэтому системы распределенных вычислений тесно связаны с системами управления распределенными базами данных.
При построении РБД приходится решать ряд сложных проблем, связанных с минимизацией трафика, обеспечением интероперабельности обработки данных и целостности данных.
Минимизация трафика нужна в связи с тем, что обслуживание запроса может потребовать использования данных из многих узлов, пересылаемых по сети. Возможности минимизации видны из примера обработки данных нескольких таблиц из разных узлов. Очевидно, что целесообразна однократная пересылка таблиц, причем таблиц именно меньшего размера, на один узел, на котором и будет обрабатываться запрос.
Интероперабельность, как об этом сказано выше, выражает способность взаимодействия программ, работающих в гетерогенных сетях (в разных операционных средах или с разными СУБД). Интероперабельность обеспечивается с помощью программ-шлюзов (конверторов или драйверов, см. рис. 5.11) для каждой пары взаимодействующих сред, на основе технологий типа CORBA или с помощью единого унифицированного языка взаимодействия СУБД. Таким языком является язык SQL, подход реализуется в известной системе ODBC.
Рис. 5.11. Обеспечение интероперабельности с помощью драйверов СУБД
Обеспечение целостности в РБД намного сложнее, чем в одноузловых БД. Поэтому вместо классических РБД чаще применяют БД, основанные на тиражировании БД. Тиражирование - асинхронный процесс переноса изменений данных на все локальные БД, размещаемые в серверах ячейки DCE. Перенос осуществляет сервер тиражирования - репликатор. Он реагирует на события, фиксируемые триггерами, и периодически пересылает обновленные данные в копии БД.
Тиражирование вносит избыточность в хранимые данные, появляются трудности с разрешением конфликтов из-за возможных несогласованных изменений в локальных БД. Однако по сравнению с классическими РБД, в которых данные не дублируются, заметно уменьшается трафик, надежнее и проще работа с локальными БД. Обеспечение надежности и удобства работы особенно актуально в случае ненадежных и медленных каналов связи, что имеет место во многих сетях в России.
Тиражирование может быть реализовано также следующим образом. В периферийных узлах имеются копии БД или некоторых частей БД, в которых возможны не только чтение, но и запись. Тиражирование (перепись обновленных частей БД) происходит периодически. Если обновление одной и той же части было более чем в одном месте, т.е. фиксируется конфликт, то выдается сигнализация о конфликте, а его разрешение осуществляется в соответствии с приоритетами, устанавливаемыми администратором БД.
В распределенных СУБД (РСУБД) необходимо управление одновременным доступом, которое должно гарантировать целостность (сериализуемость) БД. Наиболее широко используются алгоритмы управления, основанные на механизме блокировки. При этом блокировкой называют ситуацию, когда некоторая транзакция объявила о желании получить полномочия на доступ к странице памяти и, следовательно, другие транзакции не имеют права занимать этот ресурс.
Одним из способов управления является централизованное блокирование, при котором на одном из узлов поддерживается единая таблица блокировок. Такой узел устанавливает очередность выполнения транзакций, что исключает конфликты. Однако при централизованном управлении невысока надежность и требуется мощный сервер.
В РСУБД с репликацией имеется единственный узел, в котором возможно обновление данных, - это узел, хранящий первичную копию. Поэтому здесь нет проблемы согласования при записи действий многих узлов. Собственно тиражирование чаще всего выполняется по правилу полной эквивалентности: обновленные данные сразу же после изменившей их транзакции рассылаются по всем локальным БД. Чтение же выполняется из БД одного конкретного узла, наиболее близкого к пользователю в функциональном или географическом смысле.
Сложнее решать проблемы распределенного управления, что требуется в РСУБД без тиражирования. Одним из распространенных протоколов распределенного управления является протокол двухфазной фиксации транзакций (2РС). На первой фазе инициатор транзакции (координатор) рассылает участникам выполнения транзакции оповещения о блокировке. В ответ узлы сообщают о своей готовности или неготовности. На второй фазе координатор сообщает либо о "глобальной фиксации", т.е. о выполнении транзакции, либо об откате транзакции. Неприятности возможны при сбоях, которые могут оставить некоторый узел в заблокированном состоянии: он не может ни выполнять транзакцию, ни отменять ее в одностороннем порядке.
- Понятие сети. Классификация сетей.
- Топология информационной сети. Способы коммутации в информационных сетях.
- Коммутация каналов и коммутация пакетов.
- Виды связи и режимы работы информационных сетей.
- Эталонная модель взаимодействия открытых систем.
- Каналы передачи данных.
- Проводные линии связи.
- Аналоговые каналы передачи данных. Модемы.
- Модуляция при передаче данных. Амплитудная и частотная модуляции.
- Модуляция при передаче данных. Квадратурно-амплитудная и фазовая модуляция.
- Кодово-импульсная модуляция.
- Цифровые каналы передачи данных.
- Беспроводные линии связи.
- Спутниковые каналы передачи данных.
- Сотовые технологии связи.
- Оптические линии связи.
- Организация симплексной, полудуплексной и дуплексной связи.
- Протоколы физического уровня для модемной связи.
- Протоколы канального уровня для модемной связи.
- Количество информации. Энтропия. Избыточность сообщения.
- Основные используемые коды.
- Асинхронное и синхронное кодирование. Манчестерское кодирование.
- Способы контроля правильности передачи данных.
- Циклические коды.
- Сжатие при передаче данных. Алгоритмы сжатия. Коэффициент сжатия.
- Методы доступа.
- Протоколы лвс. Структура кадра.
- Аппаратные средства лвс.
- Сети Ethernet.
- Сеть Token Ring.
- Высокоскоростные лвс.
- Транспортные и сетевые протоколы.
- Управление потоками данных в сетях. Маршрутизация. Мостовые соединения.
- Протокол tcp.
- Протокол ip.
- Другие протоколы стека tcp/ip.
- Протоколы spx/ipx.
- Сети с коммутацией пакетов X.25.
- Интеллектуальные сети связи. Функциональные серверы.
- Сетевые ос. Функции и характеристики.
- Информационная безопасность в сетях.
- Распределенные вычисления. Технологии распределенных вычислений.
- Технологии распределенных вычислений
- Распределенные базы данных.
- Удаленный доступ. Виртуальная сеть. --------------
- Структура территориальных сетей. Типичные услуги телекоммуникаций.
- Протоколы теледоступа. Электронная почта. Файловый Обмен.
- Файловый обмен
- Вспомогательные подсистемы Ethernet. Archie, Whois, Telnet.
- Сеть www. Способы представления информации. Способы доступа к сети.
- Средства создания Web –приложений.
- Безопасность в сети Internet. Межсетевые экраны.