Розподіленої обробки в базах даних

Як було зазначено в розділі 210, засоби розподіленої обробки дозволяють поєднати окремі компютери в комунікаційну мережу (таку як Internet) для організації спільного рішення загальної задачі обробки даних на декількох компютерах мережі (Термін паралельна обробка використовується практично в тому ж сенсі, але в паралельних системах взаємодіючі компютери повинні бути розташовані фізично досить близько, тоді як для розподіленої системи це зовсім не обовязково, і окремі компютери можуть бути видалені на великі відстані) Взаємодія між компютерами здійснюється за допомогою спеціального програмного забезпечення, призначеного для управління мережею, яка може представляти собою деяке розширення диспетчера передачі даних (див розділ 29), але найчастіше застосовується у вигляді окремого програмного компонента

Організація розподіленої обробки може бути досить різноманітною і здійснюється на різних рівнях Як зазначалося в розділі 210, один з найпростіших випадків, представлений на рис 26, – це випадок, коли сервер СУБД запускається на одному компютері, а клієнтське додаток – на іншому

Як вже зазначалося в кінці розділу 210, термін клієнт / сервер, незважаючи на те що він, строго кажучи, стосується виключно архітектури додатків, фактично найчастіше служить для позначення структури, в якій клієнт і сервер запускаються на різних компютерах (див рис 26) І дійсно, існує безліч доказів на користь подібної схеми

■ Головним аргументом є можливість організації паралельної обробки

У цьому випадку для вирішення загальної задачі застосовуються відразу кілька компютерів, тому робота сервера (бази даних) і клієнта (додатки) здійснюється

паралельно У результаті поліпшуються такі показники, як швидкість обробки запитів у системі і продуктивність системи

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

Рис 26 Варіант розподіленої обробки, в якому клієнт і сервер запускаються на різних компютерах

■ До одного і того ж серверному компютера можуть мати доступ декілька різних клієнтських компютерів (що найчастіше і відбувається) Тому одна база даних може спільно використовуватися декількома різними клієнтськими системами, як показано на рис 27

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

компютері У прикладі з банком можна з високим ступенем вірогідності стверджувати, що користувачам одного відділення банку іноді потрібно доступ до даних, що зберігаються в іншому його відділенні На підставі цього можна зробити висновок, що на клієнтських компютерах можуть зберігатися дані користувача, а на серверному компютері можуть експлуатуватися власні додатки Тому, взагалі кажучи, кожен компютер буде виступати в ролі сервера для одних користувачів і в ролі клієнта для інших, утворюючи систему, представлену на рис 28 Іншими словами, в цьому випадку кожен компютер буде підтримувати повну систему баз даних (В тому сенсі, який вкладався в це поняття в попередніх розділах глави)

Рис 27 Система з одним сервером і декількома клієнтами

Відзначимо остання перевага, яке полягає в тому, що окремий клієнтський компютер може мати доступ до декількох серверних компютерів (випадок, протилежний показаному на рис 27) Це вельми зручна можливість, оскільки, як уже згадувалося, підприємство зазвичай виконує обробку даних таким чином, що повний набір всіх даних не зберігається на одному компютері, а розподіляється по декількох різних компютерів, причому в додатках іноді необхідний доступ до даних декількох компютерів Такий доступ надається в основному двома способами

■ Клієнт може отримати доступ до будь-якої кількості серверів, але лише до одного з них в кожен момент часу (тобто кожен запит до бази даних може бути направлений тільки до одного сервера) У такій системі неможливо за один запит отримати комбіновані дані від двох і більше серверів Крім того, користувач в

такій системі повинен знати, на якому саме компютері міститься конкретна частина даних

Клієнт може отримати доступ до будь-якої кількості серверів одночасно (тобто за один запит можна отримати комбіновані дані з двох і більше серверів) У цьому випадку сервери розглядаються клієнтом як єдиний сервер (з логічної точки зору) і користувач не зобовязаний знати, на якому саме компютері міститься та чи інша частина даних

Рис 28 Система, в якій кожен компютер одночасно є і клієнтом, і сервером

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

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

215 РЕЗЮМЕ

У цій главі системи баз даних розглядалися з точки зору їх загальної архітектури Тут була описана архітектура ANSI / SPARC, яка ділить систему баз даних на три рівня таким чином: внутрішній рівень, найбільш близький до фізичного зберігання (тобто враховує спосіб, за допомогою якого дані зберігаються фізично) зовнішній рівень, найбільш близький до користувачів (тобто що має відношення до способу представлення даних для окремих користувачів) концептуальний рівень, який є проміжним між двома попередніми (він надає узагальнене уявлення даних) Сприйняття даних на кожному з рівнів описується за допомогою схеми (Або декількох схем в разі зовнішнього рівня) Відображення описують відповідність між заданою зовнішньої та концептуальної, а також між концептуальної і внутрішньої схемами Ці відображення служать основою, відповідно, логічної і фізичної незалежності від даних

Користувачі, тобто кінцеві користувачі та прикладні програмісти, що працюють на зовнішньому рівні, взаємодіють з даними за допомогою подязика даних, який включає щонайменше два компоненти: мова визначення даних і мова маніпулювання даними Подязик даних вбудований в базовий мову програмування Слід зазначити, що кордони, що розділяють, з одного боку, базова мова і подязик даних, а з іншого, мова визначення даних і мова обробки даних, за своєю природою в основному є умовними В ідеалі, вони повинні бути прозорими для користувача

Тут також детально розглядалися функції адміністратора бази даних і функції СУБД Крім усього іншого, адміністратор бази даних несе відповідальність за створення внутрішньої схеми (Фізичне проектування) У противагу цьому, за створення концептуальної схеми (Логічне або концептуальне проектування бази даних) несе відповідальність адміністратор даних У функції СУБД

входить також реалізація запитів користувачів, написаних на мові визначення

даних або мовою обробки даних Функцією СУБД є і підтримкасловника даних

Системи баз даних зручно розглядати як просту структуру, що складається з сервера (Власне СУБД) і набору клієнтів (Додатків) Клієнт і сервер можуть виконуватися і часто виконуються на окремих компютерах, забезпечуючи таким чином

найпростіший варіант розподіленої обробки даних У загальному випадку кожен сервер

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

Джерело: Дейт К Дж, Введення в системи баз даних, 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>

*

*