22. Распределенные базы данных
(РБД)
•Системы распределенных вычислений появляются прежде всего по той причине, что в крупных автоматизированных информационных системах, построенных на основе корпоративных сетей, не всегда удается организовать централизованное размещение всех баз данных и СУБД на одном узле сети.
•Поэтому системы распределенных вычислений тесно связаны с системами управления распределенными базами данных.
Проблемы построения РБД
•При построении РБД приходится решать ряд сложных проблем, связанных с минимизацией трафика, обеспечением интероперабельности обработки данных и целостности данных.
Минимизация трафика
•Минимизация трафика нужна в связи с тем, что обслуживание запроса может потребовать использования данных из многих узлов, пересылаемых по сети.
•Возможности минимизации видны из примера обработки данных нескольких таблиц из разных узлов.
•Очевидно, что целесообразна однократная пересылка таблиц, причем таблиц именно меньшего размера, на один узел, на котором и будет обрабатываться запрос.
Интероперабельность
•Интероперабельность выражает
способность взаимодействия программ, работающих в гетерогенных сетях (в разных операционных средах или с разными СУБД).
•Интероперабельность обеспечивается или с помощью программ-шлюзов (конверторов или драйверов, см. рис. 5.11) для каждой пары взаимодействующих сред, или с помощью единого унифицированного языка взаимодействия.
•Таким языком является язык SQL, подход реализуется в известной системе ODBC.
Рис. 5.11. Обеспечение интероперабельности с помощью драйверов СУБД
Прикладная
программа
Клиент
аивер
es
Программа
связи
Менеджер
драйверов
Драйвер
Informs
Программа
связи
FoxPro
Драйвер
FoxPro
Серверы
Кош^никащюиньш “сервер
Ingres
Informix
Кошщникщионньш. “сервер
Обеспечение целостности данных
•Обеспечение целостности в РБД намного сложнее, чем в одноузловых БД.
•Поэтому вместо классических РБД чаще применяют БД, основанные на тиражировании БД.
Тиражирование
•Тиражирование - асинхронный процесс переноса изменений данных на все локальные БД, размещаемые в серверах ячейки DCE.
•Перенос осуществляет сервер
тиражирования — репликатор.
•Он реагирует на события, фиксируемые триггерами, и периодически пересылает обновленные данные в копии БД.
•Тиражирование вносит избыточность в хранимые данные, появляются трудности с разрешением конфликтов из-за возможных несогласованных изменений в локальных БД.
Достоинства тиражирования
•Однако по сравнению с классическими РБД, в которых данные не дублируются, заметно уменьшается трафик, надежнее и проще работа с локальными БД.
•Обеспечение надежности и удобства работы особенно актуально в случае ненадежных и медленных каналов связи, что имеет место во многих сетях в России.
Некоторые алгоритмы реализации
тиражирования
•Тиражирование может быть реализовано также следующим образом.
•В периферийных узлах имеются копии БД или некоторых частей БД, в которых возможны не только чтение, но и запись.
•Тиражирование (перепись обновленных частей БД) происходит периодически.
•Если обновление одной и той же части было более чем в одном месте, т.е. фиксируется конфликт, то выдается сигнализация о конфликте, а его разрешение осуществляется в соответствии с приоритетами, устанавливаемыми администратором БД.
Управление одновременным
доступом
•В распределенных СУБД (РСУБД) необходимо управление одновременным доступом, которое должно гарантировать целостность (сериализуемость) БД.
•Наиболее широко используются алгоритмы управления, основанные на механизме блокировки.
•При этом блокировкой называют ситуацию, когда некоторая транзакция объявила о желании получить полномочия на доступ к странице памяти и, следовательно, другие транзакции не имеют права занимать этот ресурс.
Централизованное блокирование
•Одним из способов управления является централизованное блокирование, при котором на одном из узлов поддерживается единая таблица блокировок.
•Такой узел устанавливает очередность выполнения транзакций, что исключает конфликты.
•Однако при централизованном управлении невысока надежность и требуется мощный сервер.
РСУБД с репликацией
•В РСУБД с репликацией имеется единственный узел, в котором возможно обновление данных, - это узел, хранящий первичную копию.
•Поэтому здесь нет проблемы согласования при записи действий многих узлов.
•Собственно тиражирование чаще всего выполняется по правилу полной эквивалентности: обновленные данные сразу же после изменившей их транзакции рассылаются по всем локальным БД.
•Чтение же выполняется из БД одного конкретного узла, наиболее близкого к пользователю в функциональном или географическом смысле.
Проблемы распределенного управления
•Сложнее решать проблемы распределенного управления, что требуется в РСУБД без тиражирования.
•Одним из распространенных протоколов распределенного управления является протокол двухфазной фиксации транзакций (2РС).
•На первой фазе инициатор транзакции (координатор) рассылает участникам выполнения транзакции оповещения о блокировке.
•В ответ узлы сообщают о своей готовности или неготовности.
•На второй фазе координатор сообщает либо о "глобальной фиксации", т.е. о выполнении транзакции, либо об откате транзакции.
•Неприятности возможны при сбоях, которые могут оставить некоторый узел в заблокированном состоянии: он не может ни выполнять транзакцию, ни отменять ее в одностороннем порядке.
- 1. Основные определения
- 1600...2000 Гц, а также автоматическое предварительное согласование способов модуляции в вызывающем и вызывном модемах. В протоколе v34.Bis скорости могут достигать 33,6 кбит/с.
- 5,725...5,85 ГГц пока лицензирования не требует.
- 400...512 Или 820...960 мГц, ширина радиоканала 25...200 кГц.
- 2. Энтропия
- 5. Асинхронное и синхронное кодирование
- 6. Манчестерское кодирование
- 7. Способы контроля правильности передачи данных
- 8. Код Хемминга
- 9. Циклические коды
- 11. Алгоритмы сжатия
- 2. Протоколы лвс
- 4. Аппаратные средства лвс
- 3. Сеть Fast Ethernet
- 1. Транспортные и сетевые
- 2. Управление потоками данных в сетях
- 3. Мостовые соединения
- 4. Маршрутизация
- 5. Транспортный протокол tcp в стеке протоколов tcp/ip
- 6. Коммутационное оборудование
- 7. Сетевой протокол ip в стеке протоколов tcp/ip
- 8. Другие протоколы в стеке
- 10. Протоколы управления в стеке
- 11. Протоколы spx/ipx
- 12. Сети передачи данных с коммутацией пакетов х.25
- 13. Сети Frame Relay (fr)
- 14. Причины появления сетей atm
- 15. Сетевое коммуникационное оборудование (по состоянию на конец 1997 г.)
- 18. Функции и характеристики сетевых операционных систем (ос)
- 19. Информационная безопасность
- 20. Распределенные вычисления
- 21. Технологии распределенных вычислений
- 22. Распределенные базы данных
- 23. Рекомендации по проектированию корпоративных сетей
- 1. Структура территориальных сетей
- 4. Электронная почта
- 5. Файловый обмен
- 9. Телеконференции и "доски объявлений"
- 10. Видеоконференции
- 11. Стандарты конференц-связи
- 12. Доступ к распределенным базам данных
- 13. Информационная система
- 14. Информационная система www
- 15. Язык html
- 16. Языки и средства создания Web-приложений
- 17. Разделяемые виртуальные миры (Sharing Virtual Worlds)
- 18. Примеры
- 19. Способы доступа к Internet