ису неієрархічних зв'язків, що обумовлює низьку гнучкість моделі, що не дозволяє їй еволюціонувати в умовах, що змінюються.
Мережева модель даних - це подання мережевими структурами типу запис даних, пов'язаних відносинами В«один - до - одномуВ» або В«один - до - багатьохВ» (рис. 1.2). Основна ідеологія і стандартні вимоги до цієї моделі були розроблені комітетом Database Task Group (DTBG) на рубежі 60-70-х років. Вперше мережева архітектура була реалізована в СУБД Integrated Data Store (IDS) компанії General Electric і IDMS компанії Computer Associates. br/>
Рис. 1.2. Мережева модель БД
В
На відміну від ієрархічної моделі, в мережевій допускається наявність декількох зв'язків від сегмента-нащадка до сегментів-предкам.
Мережева модель допускає також використання в базах даних зв'язків В«багато - до - багатьох В». Це дозволяє усунути багато недоліків ієрархічної моделі, такі як: низьку пристосованість до опису даних неієрархічному структури і слабку гнучкість при розвитку системи.
Реляційна модель була описана в 1970-1971 роках у роботах Є. Ф. Кодда. Вона заснована на процедурному мовою обробки таблиць даних і мовою запитів. У мережевої та ієрархічної моделях використовувалися жорсткі фізичні підходи до зв'язування записів з різних файлів шляхом застосування фізичних покажчиків або адреси на диску. Такі бази істотно ускладнюють і обмежують операції над даними. Крім того, є очевидним, що ієрархічні і мережеві бази даних вельми чутливі до апаратних змін. Перенесення даних з одного накопичувача на інший, або взагалі Зміна числа призводить до необхідності уважно і копітко змінювати адреси у зв'язках записів на нові. Також такі моделі чутливі до реструктуризації самої бази (додавання або видалення нових полів призводить до зміни фізичних адрес записів). Всі ці проблеми подолала реляційна модель, заснована на логічних відносинах даних. Саме реляційна модель породила всі сучасні відомі СУБД, її дітищем є SQL, завдяки використанню реляційної моделі можливе створення розподілених баз даних.
Під розподіленої БД (Distributed DataBase - DDB) зазвичай мають на увазі базу даних, що включає фрагменти з кількох баз даних, які розташовуються на різних вузлах мережі комп'ютерів, і, можливо, управляються різними СУБД. Розподілена база даних виглядає з точки зору користувачів і прикладних програм як звичайна локальна база даних. У цьому сенсі слово В«розподіленаВ» відбиває спосіб організації бази даних, але не її зовнішню характеристику.
Згідно принципам, викладеним у працях відомого вченого Дейта, можна виділити:
12 основних вимог до розподіленої базі даних (вони ж є основними ознаками)
* локальна автономія (local autonomy);
* децентралізація (no reliance on central site);
* безперервність операцій (continuous operation);
* прозорість розташування (location independence);
* незалежна фрагментація (Fragmentation independence);
* незалежне тиражування (replication independence);
* обробка розподілених запитів (distributed query processing);
* обробка розподілених транзакцій (distributed transaction processing);
* незалежність від обладнання (hardware independence);
* незалежність від операційних систем (operationg system independence);
* прозорість мережі (network independence);
* незалежність від СУБД (database independence).
Розглянемо кожне з цих вимог докладніше.
В
Локальна автономія
Ця якість означає, що управління даними на кожному з вузлів розподіленої системи виконується локально. База даних, розташована на одному з вузлів, є невід'ємним компонентом розподіленої системи. Будучи фрагментом загального простору даних, вона, в той же час, функціонує як повноцінна локальна база даних. Управління нею виконується локально і незалежно від інших вузлів системи.
Децентралізація
Витікає з властивості локальної автономії. В ідеальній системі всі вузли рівноправні і незалежні, а розташовані на них бази є рівноправними постачальниками інформації в загальний простір даних. База даних на кожному з вузлів самодостатня і може функціонувати за відсутності інших вузлів. Вона включає власний повний словник даних і повністю захищена від несанкціонованого доступу.
У розподілених БД підтримка цілісності та узгодженості даних, у світлі попередніх вимог, являє собою досить складну проблему. Синхронне і узгоджене зміна даних в декількох локальних БД, складових розподілену базу даних, досягається, як правило, застосуванням протоколу двофазної фіксації транзакцій. Крім узгодження і верифікації даних, цей протокол може виконувати захист від збоїв в системі в критичних випадках (обрив зв'язку, наприклад). Якщо розподілена БД однорідна - т. е. на всіх вузлах дані зберігаються у форматі однієї бази і на всіх вузлах функц...