русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Розподілені бази даних


Дата добавления: 2015-08-06; просмотров: 1075; Нарушение авторских прав


У крупних САПР, побудованих на основі корпоративних мереж, не завжди вдається організувати централізоване розміщення всіх баз даних і СУБД на одному вузлі мережі. В цьому випадку створюють розподілені БД (РБД) [1].

При побудові РБД доводиться вирішувати ряд складних проблем, пов'язаних з мінімізацією трафіку, забезпеченням інтероперабельності обробки даних і цілісності даних.

Мінімізація трафіку потрібна у зв'язку з тим, що при обслуговуванні запиту можуть потрібно дані з багатьох вузлів, що пересилаються по мережі. Можливості мінімізації видно з прикладу обробки даних декількох таблиць з різних вузлів. Очевидно, що доцільна одноразова пересилка таблиць (причому таблиць саме меншого розміру) на один вузол, на якому і оброблятиметься запит.

Інтероперабельність виражає здатність взаємодії програм, що працюють в гетерогенних мережах (у різних операційних середовищах або з різними СУБД). Інтероперабельність забезпечується або за допомогою програм-шлюзів (конверторів) (для кожної пари тих, що взаємодіють) середовищ, або за допомогою єдиної уніфікованої мови взаємодії. Такою мовою для доступу до БД є мова SQL, інтероперабельність на його основі має місце в системі ODBC, приклад реалізації якої показаний на рис.16.2 У прикладі СУБД FoxPro знаходиться в локальному вузлі, а СУБД Ingres і Informix - у видалених вузлах. Прикладна програма має ODBC-інтерфейс, не залежний від особливостей різних СУБД. Менеджер драйверів реалізує на базі уніфікованої мови SQL всі нюанси доступу до БД, загальні для різних СУБД. Драйвер конкретної СУБД перетворить інваріантні до СУБД запити у форму, прийняту в даній СУБД.

 


Рис.16.2 Структура ODBC

 

Забезпечення цілісності в РБД набагато складніше, ніж в одновузлових БД. Розрізняють два підходи до побудови РБД:

1) тиражування (реплікація), при якому на декількох серверах (вузлах) мережі розташовані копії БД;



2) повномасштабна розподіленість, при якій різні частини БД знаходяться на різних серверах мережі (класична розподіленість).

Застосовують два способи тиражування.

Спосіб, званий реплікацією першої копії, заснований на виділенні серед серверів з копіями БД одного первинного сервера (реплікатора). Внесення змін користувачами можливо тільки в БД первинного сервера, який надалі здійснює тиражування. Тиражування - це перенесення змін БД з первинного сервера у всі вторинні (локальні) сервери, які використовуються клієнтами тільки для читання даних. Реплікатор реагує на події, що фіксуються трігерами, періодично пересилає оновлені дані в копії БД. Недолік способу - невисока надійність, властива будь-яким централізованим структурам.

Надійність підвищується при використанні способу голосування. Тут зміни посилаються не в один первинний, а в деякі N серверів. При цьому будь-який запит на читання прямує до деяких М серверів, причому N + М > К, де К - загальне число серверів. Приймається остання за часом оновлення версія відповіді.

Тиражування вносить надмірність в дані, що зберігаються, з'являються труднощі з вирішенням конфліктів із-за можливих неузгодженіх змін в локальних БД. Проте в порівнянні з класичними РБД, в яких дані не дублюються, при тиражуванні помітно зменшується трафік, надійніше і простіше здійснюється робота з локальними БД.

У класичних розподілених СУБД (РСУБД) необхідно управляти одночасним доступом, що повинне гарантувати цілісність БД. Найширше використовуються алгоритми управління, засновані на механізмі блокування. При цьому блокуванням називають ситуацію, при якій деяка транзакція оголосила про бажання отримати повноваження на доступ до сторінки пам'яті і, отже, інші транзакції не мають права займати цей ресурс.

Одним із способів управління є централізоване блокування, при якому на одному з вузлів підтримується єдина таблиця блокувань. Такий вузол встановлює черговість виконання транзакцій, що виключає конфлікти. Проте при централізованому управлінні невисока надійність і потрібний могутній сервер.

У РСУБД з реплікацією немає проблеми узгодження при записі дій багатьох вузлів. Власне тиражування найчастіше виконується за правилом повної еквівалентності - оновлені дані відразу ж після транзакції, що змінила їх, розсилаються по всіх локальних БД. Читання ж виконується з БД одного конкретного вузла, найбільш близького до користувача у функціональному або географічному сенсі.

Складніше вирішувати проблеми розподіленого управління, що потрібний в РСУБД без тиражування. Одним з поширених протоколів розподіленого управління є протокол двофазної фіксації транзакцій. На першій фазі ініціатор транзакції (координатор) розсилає учасникам виконання транзакції сповіщення про блокування. У відповідь вузли повідомляють про свою готовність або неготовність. На другій фазі координатор повідомляє або про «глобальну фіксацію», тобто про виконання транзакції, або про відкіт транзакції. Неприємності можливі при збоях, які можуть залишити деякий вузол в заблокованому стані, при якому він не може ні виконувати транзакцію, ні відміняти її в односторонньому порядку.

Розвитком РСУБД є розподілені сховища даних, що використовують єдину логічну модель з безліччю фізичних місць розташування. Дані логічно розділяються на домени (наприклад, всі записи, що відносяться до конкретного регіону, до всіх даних клієнтів з одного місця і т.п.) і розподіляються без дубльованих записів по різних крапках (locations). Причин для використання такого підходу множина - починаючи від створення фізичних зон безпеки даних і закінчуючи аналітичними операціями, що ґрунтуються на часових зонах.

 



<== предыдущая лекция | следующая лекция ==>
Варіанти управління даними в мережах САПР | САПР візуального моделювання і проектування алгоритмів та систем обробки цифрових сигналів


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.712 сек.