Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпаргалки на іспит з бд (1).docx
Скачиваний:
10
Добавлен:
23.04.2019
Размер:
4 Мб
Скачать
☆

8.12. Моделі реплікацій.

Є такі дві основні моделі реплікації: 1)реплікація моментальних знімків 2)реплікація трансакцій. 1)вона найпростіша, під моментальним знімком розуміють повну копію даних ,обраних для реплікації і які слід розіслати передплатникам. Під час 2) використовується журнал транзакцій БД. Обрані транзакції копіюються в БД дистриб’ютора зі збереженям інформації про послідовність їхнього використання, потім розсилаються серверам-передплатникам і виконуються на них у тому ж порядку, в якому в якому виконувались на сервері-видавцю. Переваги такої моделі – зменшені завантаження мережі. Тому його рекомендують застосувати у великих БД з невеликою кількістю змін.

8.13. Поняття реплікації даних. Топологія реплікацій.

Реплікація – це процес, за допомогою якого дані копіюються між базами даних, що знаходяться на тому ж самому сервері або на інших серверах, пов'язаних через LAN, WAN або Internet, з метою прискорення пошуку і підвищеня стійкості до відмов БД. Топологія характеризує взаємозв’язки між учасниками реплікації. Розрізняють такі варіанти: 1) реплікація «один-до-багатьох» - передбачає наявність одного видавця і кількох передплатників; 2) реплікація «багато-до-одного»: дані кількох видавців пересилаються одному передплатнику; 3) «багато-до-багатьох» дані від кількох видавців пересилаються кільком передплатникам.

8.14. Поняття транзакції. Загальна схема роботи розподіленої транзакції.

Трансакція – це певна сукупність операцій над файлами БД, яка поєднує певний набір команд, що змінюють зміст файлів бази даних, але при цьому ці зміни вносять не одразу, а відкладають до закриття трансакції. Транзакція розглядається як деякий неподільне дію над БД, осмислене з погляду користувача. У той же час це логічна одиниця роботи системи. Розробник БД визначає семантику сукупності операцій на БД, яка моделює з точки зору розробника деяку одну нерозривну роботу (це і становить транзакцію). Типи транзакцій: 1. Плоскі (класичні) 2. Ланцюгові. 3. Вкладені. Плоскі транзакції характеризуються 4 класичними властивостями: атомарність; узгодженість; ізольованість; довговічність (міцність). Схема роботи трансакції: Спочатку трансакції присвоюють ідентифікатор початкової трансакції і виконують усі необхідні дії. При цьому інші користувачі не обмежені у виконанні операцій пошуку у файлах, які використовуються в активній трансакції, і бачать її у початковому стані. Операції редагування цих файлів під час виконання трансакції заборонені. Якщо трансакція закінчилась успішно, то після відповідного сигналу всі зміни, внесені у файли бази даних стають видимими для всіх користувачів. При виникнені ускладнень/помилок трансакція завершується аварійно. При цьому система здійснює відкат – всі виконані з моменту початку трансакції перетворення повинні бути знищені, а файли повернені в початковий стан.

8.15. Вимоги до транзакцій.

Вимоги: 1) атомарність (atomic) – для навколишнього світу транзакція неподільна. Ця властивість гарантує, що всяка транзакція або повністю виконується, або повністю не виконується, причому якщо вона виконується, то виконується як одна неподільна одночасна операція. Поки транзакція перебуває в процесі виконання, інші процеси (незалежно від того, залучені вони в транзакцію чи ні) не можуть спостерігати яких-небудь проміжних станів. 2) несуперечливість (consistent) – транзакція не порушує інваріантів системи. Це значить, що якщо в системи до початку транзакції були якісь інваріанти, які вона постійно повинна зберігати, вони будуть зберігатися й після її завершення. 3) ізольованість (isolated) – одночасно, що відбуваються транзакції, не впливають одна на одну; якщо дві або більше транзакції відбуваються одночасно, для кожної з них і для інших процесів підсумковий результат виглядає так само, як якби всі транзакції виконувалися послідовно в якомусь (що залежить від системи) порядку. 4) довговічність (durable) – після завершення транзакції внесені нею зміни стають постійними. Ця властивість відбиває той факт, що після завершення транзакцій наступні дії не мають ніякого значення, транзакція закінчена, її результати незмінні. Ніякі збої після завершення транзакції не можуть привести до скасування результатів транзакції або їхній втраті. На ці вимоги часто посилаються по їхніх перших буквах – ACID. Кожна транзакція має починатися при цілісному стані БД. Такий же стан має залишатись і після неї. Невиконання цього призводить до відкату, тобто база даних повертається в початковий стан при якому починалась виконуватись транзакція.