ЗАСОБИ SQL ДЛЯ РОЗПОДІЛЕНИХ СИСТЕМ

В даний час в мові SQL відсутній поддержка9 справжніх розподілених систем баз даних Безумовно, в області обробки даних ніякої підтримки і не вимагається – Основне завдання розподіленої бази даних, з точки зору користувача, полягає в тому, щоб зберегти можливості обробки даних незмінними Проте, потрібні операції визначення даних, такі як FRAGMENT, REPLICATE І тд [156] Проте до цих пір такі операції в мові SQL відсутні

З іншого боку, мова SQL підтримує деякі можливості створення системи клієнт / сервер, включаючи, зокрема, оператори CONNECT і DISCONNECT  ДЛЯ встановлення і розриву зєднань між клієнтом і сервером Насправді, додатки SQL повинні виконувати операцію CONNECT для зєднання з сервером, перш ніж вони зможуть видати небудь запит до бази даних (хоча така операція CONNECT може бути і неявній) Як тільки зєднання буде встановлено, додаток, тобто клієнт, зможе видати запит SQL звичайним чином, а необхідна обробка бази даних буде виконана сервером

Мова SQL дозволяє клієнту, який підключився до одного сервера, підключитися

і до іншого сервера Після встановлення другого зєднання першого зєднання стає пасивним Тому запити будуть виконуватися друга сервером доти, поки клієнт не перейде або на попередній сервер за допомогою іншої нової операції SET CONNECTION, або ще на один сервер, і тоді друге зєднання також стане пасивним і тд Інакше кажучи, в будь-який час у клієнта є лише одне активне зєднання і будь-яку кількість пасивних зєднань і всі запити до бази даних від цього клієнта направляються для обробки до сервера, з яким підтримується активну сполуку

Примітка Стандарт мови SQL також дозволяє (але не вимагає), щоб реалізація підтримувала мультисерверної транзакції У цьому випадку клієнт може переключатися з

одного сервера на інший по ходу виконання транзакції, тому одна частина транзакції виконується на одному сервері, а інша – на іншому Відзначимо, зокрема, що якщо в транзакції поновлення дозволено охоплювати кілька серверів, то реалізація повинна, мабуть, підтримувати якийсь варіант двухфазной фіксації, щоб забезпечити нерозривність транзакції, як передбачено стандартом мови SQL

Нарешті, кожне зєднання, встановлене даним клієнтом (чи то активне, чи то

пасивне), рано чи пізно має бути розірвано за допомогою відповідної операції DISCONNECT, хоча в простих випадках операція DISCONNECT, як і відповідна операція CONNECT, може бути неявній

Додаткову інформацію з даного питання (зокрема, докладні відомості про засоби SQL, призначених для створення збережених процедур) можна знайти в самому стандарті мови SQL [423], [424] або у навчальному посібнику по цій мові [420]

211 РЕЗЮМЕ

У цій главі коротко розглядалися системи розподілених баз даних В якості стержня викладу використовувалися дванадцять цілей для цих систем [2113] Але ще раз підкреслимо, що не всі цілі рівнозначні у всіх ситуаціях Також тут йшлося про технічні проблеми, які виникають в областях обробки запитів, управління каталогом, розповсюдження оновлень, управління відновленням і управління паралельністю Крім того, обговорювалися ті питання, спроби вирішення яких повинні забезпечитинезалежність від СУБДзокрема, в розділі 216 описувалися шлюзи, проміжне програмне забезпечення для доступу до даних і інтегровані системи Потім ми познайомилися з обробкою даних в системах Клієнт / сервер,яка може розглядатися як важливий окремий випадок розподіленої обробки даних в цілому Нарешті, в цьому розділі перераховувалися ті аспекти мови SQL, які відповідають вимогам обробки даних в системах клієнт / сервер, а також підкреслювалося, що користувачі повинні уникати програмування на рівні записів (Тобто операцій з курсором, як вони іменуються в стандарті SQL) Тут також коротко була описана концепція збережених процедур і викликів віддалених процедур

Примітка Однією з проблем, яку ми не обговорювали взагалі, є проблема фізичного проектування бази даних для розподілених систем Насправді, навіть якщо не враховувати можливість фрагментації і реплікації, проблема прийняття рішення про те, які повинні зберігатися дані і на яких вузлах (так звана проблема розміщення), вважається винятково складною [2131] Фрагментація і реплікація лише ще більше ускладнюють це питання

Заслуговує згадки той факт, що на ринку програмних продуктів стало помітно присутність так званих масових паралельнихкомпютерних систем (див анотацію до [1856]) Такі системи зазвичай містять велику кількість процесорів, зєднаних між собою за допомогою високошвидкісної шини Кожен процесор має власну основну память, власні дискові накопичувачі і підтримує власну копію програмного забезпечення СУБД, а повна база даних розподіляється по всьому набору дискових накопичувачів Іншими словами, такі системи, по суті, являють собою систему розподілених баз даних в одному пристрої. Безумовно, що для подібних систем залишаються справедливими всі викладені міркування з таким питань, як стратегія обробки запитів, двофазна фіксація, ситуація глобальної взаимоблокировки і тд

На закінчення відзначимо, що дванадцять цілей створення розподілених баз даних

(Або їх підмножина, яке включає, принаймні, цілі 4, 5, 6 і 8), розглянуті спільно, схоже, рівносильні правилам незалежності від розподілу Кодда для реляційної СУБД [103] Нижче це правило приведено для використання надалі

■&nbsp&nbsp Незалежність від розподілу (Кодд) Реляційна СУБД володіє незалежністю від розподілу .. [яка має на увазі, що] СУБД має подязик даних, який дозволяє користувача програмам і процедурам термінальній обробки залишатися логічно незачепленими в описаних нижче ситуаціях

а) Коли розподіл даних вводиться вперше (якщо спочатку встановлена ​​СУБД оперувала тільки нерозподіленими даними)

б) Коли дані перерозподіляються (якщо СУБД оперує розподіленими даними) .

Нарешті відзначимо, що (як уже згадувалося в цьому розділі) цілі 4-6 і 9-12, тобто всі цілі, в назві яких є слово незалежність, можуть розглядатися як розширення звичного поняття незалежності від даних на випадок його застосування для розподіленого середовища При цьому зазначені принципи, по суті, перетворюються на інструмент захисту інвестицій в додатки

Джерело: Дейт К Дж, Введення в системи баз даних, 8-е видання: Пер з англ – М: Видавничий дім «Вільямс», 2005 – 1328 с: Ил – Парал тит англ

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*