Microsoft Word - 13-1-05
Застосування баз даних
План
1. Адміністрування базами даних
2. Відновлення баз даних
Адміністрування базами даних
Адміністрування даними передбачає виконання функцій адміністратора даних. Адміністратор даних відповідає за достовірність та повноту даних, що знаходяться в БД, їх узгодженість, а також виконання регламенту робіт по актуалізації БД.
Адміністрування бази даних передбачає виконання функцій адміністратора БД та інших адміністративних функцій, які забезпечують життєдіяльність системи бази даних (рис. 13.1).
Адміністратор БД відповідає за забезпечення необхідного рівня продуктивності системи. Ці задачі вирішуються шляхом використання ефективних методів доступу, раціональною стратегією розміщення даних на носіях і оптимальною збитковістю даних. Адміністратор БД вирішує задачі пов'язані з вибором розміщення файлів на диску, визначенням необхідного об'єму дискової пам'яті, розподілом інформації на диску.
Створення нормалізованих відношень є важливою складовою частиною проектування БД, але крім позитивних результатів, нормалізація може призводити до зниження продуктивності роботи системи. Виконання вимог нормалізації породжує велику кількість таблиць, збільшення таблиць призводить до збільшення кількості операцій обміну даними з диском і збільшенню часу на обробку логічних зв'язків. При певних режимах роботи з БД можливе деяке зниження рівня нормалізації і за рахунок цього підвищення швидкості обробки
даних. Суперечність між ефективністю проекта, інформаційними потребами користувачів і швидкістю обробки інформації вирішується шляхом пошуку компромісу, який, як правило, полягає в деякій денормалізації бази даних.
Адміністратор БД відповідає також за збір і обробку статистики функціонування системи, забезпечення ефективного використання ресурсів, за надійність функціонування системи, оцінку необхідності переналагодження середовища зберігання БД та її виконання, відновлення стану БД при порушенні логічної і фізичної цілісності.
Реорганізація бази даних - діяльність адміністратора БД, яка забезпечує збір сміття, необхідні зміни для розміщення даних і, можливо їх структури, згідно з проведеною модифікацією схеми зберігання. Реорганізація БД дозволяє підвищити продуктивність системи БД і/або більш ефективно використовувати ресурси простору пам'яті середовища зберігання.
Резервне копіювання (backup) виконується для запобігання можливого руйнування БД і, у разі потреби, відновлення даних. Виконується копіювання спеціальними утілітами. Резервуються не тільки дані, але і службова інформація (журнали транзакцій, словники і т.ін.). Резервна копія може бути точною копією БД, або архівною копією. Резервне копіювання може виконуватись під час роботи з БД або в інший час.
Тестування являє собою процес виконання прикладних програм з метою пошуку помилок.
Експлуатація і супроводження полягають в промисловому використанні створеної системи, яке постійно супроводжується перевірками її поточних покажчиків функціонування, а також необхідною підтримкою.
Стандарти організації це правила, які використовуються в процесі розробки і експлуатації системи: принципи структурування прикладних програм, погодження про найменування, які використовують програмісти і т.ін.
Задачі визначення СУБД полягають у визначенні таких питань: модель БД, ємкість БД, продуктивність, мобільність і стандартизація, необхідне обладнання, вартість, підтримка розробки застосувань, засоби адміністрування БД, безпека і цілісність, резервне копіювання і відновлення і т.ін.
Відновлення баз даних
Відновлення бази даних - усунення порушень логічної або фізичної цілісності БД з метою забезпечення її подальшого використання.
Цілісність бази даних логічна - властивість стану БД, яка характеризується відсутністю порушень всіх обмежень цілісності, які явно визначені в логічній схемі.
Цілісність бази даних фізична - властивість стану БД, яка характеризується відсутністю порушень специфікацій схеми зберігання, а також фізичних руйнувань даних на носіях інформації.
Причини руйнування БД, головні функції і методи відновлення БД показані на рис. 13.2. Головною одиницею відновлення в системах з БД є транзакції. Транзакція у разі успішного завершення виконує операцію Commit, а у разі невдачі - операцію Rollback. При виконанні роботи з БД СУБД використовує буфер. Буфер БД - це область основної пам'яті для тимчасового зберігання даних, яка призначена для прискорення операцій з диском.
У відновленні БД ключову роль грає журнал, в якому зберігаються зміни внесені в БД, а також стан кожної транзакції.
Журнал - функціональний компонент СУБД, який забезпечує реєстрацію в процесі функціонування системи БД відомостей про виконання транзакцій, про працюючих користувачів, про застосування що використовуються, про доступ до різних структур даних і т.ін.
Журнал забезпечує фіксацію всіх дій транзакцій: старт транзакції, зміну значень елементів БД, результатів або припинення роботи. Інформація журналу і зміни, які вносяться в елементи даних повинні виконуватися синхронно, але конкретний спосіб синхронізації залежить від обраного режиму протоколювання. Існують два основних методи відновлення БД: з відкладеним оновленням і негайним оновленням.
Відновлення з використанням відкладеного оновлення передбачає, що оновлення не заносяться в БД до тих пір, поки транзакція не видасть команду фіксації зроблених змін. Якщо виконання транзакції було закінчено до досягнення цієї точки, то ніяких змін в БД виконано не буде, тому і не потрібна їх відміна (рис. 13.3).
Відновлення з використанням негайного оновлення передбачає, що всі зміни вносяться в БД одразу після їх виконання в транзакції, ще до досягнення моменту фіксації зроблених змін. Якщо виконання транзакції було закінчено до досягнення цієї точки (аварійно), то для відміни внесених змін у БД використовується журнал. Відміна операцій транзакцій виконується у зворотному порядку (рис. 13.4).
Контрольна точка - сукупність даних, яка зв'язана з деякою транзакцією в певний момент часу, і зберігається для відновлення (у разі необхідності) стану БД і транзакції, що виконується на цей момент, з метою забезпечення можливості повторного її використання починаючи з цього моменту. Створення контрольних точок під час виконання транзакцій дозволяє виконувати при необхідності її відкат не на початок, а до останньої за часом контрольної точки, завдяки чому суттєво підвищується продуктивність системи.
Засоби ведення журналу дозволяють захистити систему від наслідків втрати даних в оперативній пам'яті. Для відновлення БД від руйнування дискових пристроїв застосовується архівування. Архів являє собою повну або часткову копію БД, яка зберігається у безпечному місці.
Відновлення це процес, який складається з таких етапів: - створення пустої БД із заданими параметрами (розміром сторінки, режимом запису і т.ін.);
- додавання метаданих (таблиць, різних обмежень і перевірок і т.ін.);
- наповнення даними з файлу резервної копії;
- створення необхідних індексів.
Глава 14. ЗАХИСТ ІНФОРМАЦІЇ В БАЗАХ ДАНИХ
Захист даних - попередження несанкціонованого або випадкового доступу до даних, їх зміни або руйнування даних з боку користувачів; попередження змін або руйнування даних при збоях апаратних і програмних засобів і при помилках в роботі співробітників групи експлуатації.
Наслідками порушення захисту є матеріальні збитки, зниження продуктивності системи, отримання таємних відомостей, руйнування БД. Головними причинами порушення захисту є несанкціонований доступ, некоректне використання ресурсів, перебої в роботі системи. В БД застосовуються засоби захисту наведені на рис. 14.1.
Парольний захист передбачає встановлення пароля, який являє собою ряд літер, визначених користувачем при вході в систему з метою ідентифікації системними механізмами управління доступом. Після ідентифікації виконується аутентифікація. Аутентифікація - процедура, яка встановлює автентичність ідентифікатора, який висувається користувачем, програмою, процесом, системою при вході в систему, при запиті деякої послуги або при доступі до ресурсу. Процес аутентифікації це обмін між користувачем і системою інформацією, яка відома тільки системі і користувачу.
Управління доступом - захист інформаційних ресурсів в системі БД від несанкціонованого доступу. Мета полягає в забезпеченні представлення доступу до ресурсів тільки користувачам, програмам, процесам, системам, які мають відповідні права доступу.
Як тільки користувач отримає право доступу до СУБД, йому автоматично представляються різні привілеї, пов'язані з його ідентифікатором. Ці привілеї можуть включати дозвіл на доступ до певних таблиць, представлень, індексів, а також на певні операції над цими об'єктами: перегляд (SELECT), додавання (INSERT), оновлення (UPDATE), вилучення (DELETE) (рис. 14.2).
У сучасних СУБД підтримуються два найбільш загальних підходи до забезпечення безпеки даних: вибірковий підхід і обов'язковий підхід.
Вибірковий підхід передбачає, що кожен користувач має різні права при роботі з даними об'єктами. Різні користувачі можуть мати різні права доступу до одного й того ж об'єкта. Такий підхід це однорівнева модель безпеки (табл. 14.1).
Обов'язковий підхід передбачає, що кожному об'єкту даних надається деякий кваліфікаційний рівень, а кожен користувач має деякий рівень допуску. При такому підході правом доступу до певного об'єкта даних мають тільки
користувачі з відповідним рівнем доступу. Такий підхід являє собою багаторівневу модель безпеки (рис. 14.3). Приклад. Однорівнева модель безпеки.
Шифрування даних - метод забезпечення таємності даних шляхом генерації нового їх представлення, яке допускає однозначне відновлення вихідного представлення.
Система шифрування включає в себе ключ шифрування, алгоритм шифрування, ключ дешифрування і алгоритм дешифрування.
Захист від перебоїв і відказів роботи апаратно- програмного забезпечення є однією з необхідних умов нормальної роботи системи. Головне навантаження по забезпеченню захисту системи від перебоїв і відказів припадає на апаратно-програмні компоненти. Структурна збитковість передбачає резервування апаратних компонентів на різних рівнях: дублювання серверів, процесорів, накопичувачів на магнітних дисках (RAID - масив недорогих дискових накопичувачів зі збитковістю), використання джерел безперебійного живлення. Функціональне резервування означає організацію обчислювального процесу, при якій функції обробки даних виконуються декількома елементами системи. Інформаційне резервування реалізується