Новости

Функції систем управління базами даних (СКБД)

  1. зміст 1. Які основні функції СУБД?
  2. 2. Що означає безпосереднє управління даними у зовнішній пам'яті?
  3. 3. Що означає управління буфером оперативної пам'яті?
  4. 4. Що називається транзакцією? В чому полягає суть управління транзакціями?
  5. 5. Для чого потрібно управління транзакціями в базі даних?
  6. 6. Що таке сериализация і серійний план транзакцій?
  7. 7. Що відбувається, якщо дві транзакції хочуть мати доступ до одного і того ж об'єкту бази даних?
  8. 8. Що таке журнализация або ведення протоколу в базі даних?
  9. 9. Які вимоги до збереження журналу змін бази даних?
  10. 10. Що таке стратегія «упреждающей» записи при веденні журналу змін?
  11. 11. Що таке локальний журнал транзакцій? Яка відмінність локального журналу транзакцій від загальносистемного?...
  12. 12. Які основні кроки виконуються СУБД для відновлення бази даних при «м'якому» збої?
  13. 13. Які основні кроки виконуються при «жорсткому» збої для відновлення бази даних?
  14. 14. Що таке надмірність даних в базі даних?
  15. 15. Що собою представляє функція підтримки мов баз даних?
  16. пов'язані теми

зміст

1. Які основні функції СУБД?

До основних функцій, які виконуються системами управління базами даних відносяться:

  • безпосереднє управління даними у зовнішній пам'яті;
  • управління буферами оперативної пам'яті;
  • управління транзакціями;
  • ведення журналу або протоколу виконаних операцій в базі даних;
  • підтримка мов баз даних.

2. Що означає безпосереднє управління даними у зовнішній пам'яті?

Як відомо, для збереження даних і роботи з ними, в базі даних потрібно мати в наявності постійні запам'ятовуючі пристрої (носії інформації), наприклад магнітні диски (жорсткі диски).

Носії інформації потрібні в двох випадках:

  • для збереження безпосередніх даних самій базі даних;
  • для службових цілей. Наприклад, для забезпечення швидкого доступу до даних за допомогою індексів.

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

Для забезпечення безпосереднього управління даними у зовнішній пам'яті сучасні СУБД:

  • мають власну систему найменування об'єктів;
  • можуть скористатися наявними можливостями існуючих файлових систем (запам'ятовуючих пристроїв);
  • можуть використовувати низькорівневі операції при роботі з зовнішніми пристроями, що запам'ятовують.

3. Що означає управління буфером оперативної пам'яті?

Однією з важливих характеристик системи управління базами даних є швидкість обробки інформації в базі даних. Швидкість обробки інформації істотно залежить від розміру бази даних.

Щоб підвищити швидкість взаємодії користувача з базою даних, використовується так звана буферизация даних в оперативній пам'яті. Для цього в оперативній пам'яті створюється буфер (кеш) з даними, які на даний момент використовуються. І обмін інформацією здійснюється через цей буфер. Оскільки, швидкість читання з оперативної пам'яті значно вище швидкості читання з зовнішніх запам'ятовуючих пристроїв, то таким чином забезпечується прискорення роботи з базою даних.

4. Що називається транзакцією? В чому полягає суть управління транзакціями?

При роботі з будь-якою базою даних виконується нескінченна послідовність операцій. Якщо послідовність операцій об'єднана в єдине ціле (з точки зору СУБД), то ця послідовність називається транзакцією.

У цьому випадку важливо успішне виконання транзакції. Якщо транзакція виконується успішно, то система управління базами даних фіксує всі зміни даних за допомогою інструкції COMMIT. Зміни заносяться в зовнішню пам'ять.

Якщо хоча б одна з операцій транзакції закінчується невдало, то транзакція вважається невиконаним. В цьому випадку відбувається відкат транзакції (ROLLBACK). При відкат транзакції база даних повертається в стан, який був до початку виконання транзакції.

5. Для чого потрібно управління транзакціями в базі даних?

Підтримка транзакцій є важливою умовою для логічної цілісності бази даних. Це стосується як одного користувача так і розрахованих на багато користувачів СУБД.

Завдання механізму транзакцій - вплинути на користувача таким чином, щоб він відчував себе єдиним користувачем СУБД. Навіть в разі, якщо з СУБД паралельно працює велика кількість користувачів. Фактично, транзакція є одиницею активності користувача по відношенню до бази даних.

6. Що таке сериализация і серійний план транзакцій?

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

Для забезпечення сериализации транзакцій будується якийсь серійний план транзакцій. В ідеальному випадку, при хорошому серійному плані транзакцій, користувач не відчує присутність інших транзакцій в базі даних. Можливо тільки невелике уповільнення роботи бази даних.

Можливо тільки невелике уповільнення роботи бази даних

Мал. 1. Приклад сериализации транзакцій в разі трьох користувачів

7. Що відбувається, якщо дві транзакції хочуть мати доступ до одного і того ж об'єкту бази даних?

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

8. Що таке журнализация або ведення протоколу в базі даних?

Журналізація або ведення протоколу виконаних команд необхідна для відновлення останнього узгодженого стану бази даних після апаратного або програмного збою.

Журналізація необхідна для забезпечення надійності збереження даних у зовнішній пам'яті (на носіях інформації).

Апаратні збої виникають внаслідок:

  • миттєвої зупинки комп'ютера (наприклад, відключення живлення, «зависання» операційної системи). Такий апаратний збій ще називають «м'який» збій;
  • втратою інформації на носіях зовнішньої пам'яті. Такий вид збою називається «жорсткий збій».

Програмні збої - це, як правило, помилки в самих програмах. Програмні збої можуть виникати як в призначених для користувача програмах, так і в самій СУБД.

Журналізація служить додатковою інформацією, яка полегшує відновлення інформації в базі даних. У базі даних ведеться журнал змін.

9. Які вимоги до збереження журналу змін бази даних?

Журнал змін в базі даних ведеться особливо надійно. Журнал змін є недоступний для користувачів СУБД. Часто ведуться дві копії журналу змін, які розміщуються на різних носіях.

10. Що таке стратегія «упреждающей» записи при веденні журналу змін?

Стратегія упреждающей записи (Write Ahead Log - WAL) є своєрідним протоколом, який працює за наступним принципом: перш ніж змінити об'єкт бази даних, попередньо в журналі треба сформувати запис про зміну даного об'єкта.

Якщо дотримуватися цієї стратегії, то після будь-якого збою можна відновити базу даних за допомогою журналу, оскільки запис про зміни в БД буде сформована до початку зміни об'єкта.

11. Що таке локальний журнал транзакцій? Яка відмінність локального журналу транзакцій від загальносистемного?

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

Ведення локального журналу транзакцій підтримується в деяких СУБД.

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

12. Які основні кроки виконуються СУБД для відновлення бази даних при «м'якому» збої?

«М'який збій» - це випадок, коли сталася миттєва зупинка роботи комп'ютера. Приклади «м'яких» збоїв:

  • відключення живлення комп'ютера (апаратний збій);
  • «Зависання» операційної системи;
  • помилки програмування програм, які взаємодіють з базою даних.

При «м'якому» збої можуть бути відсутніми:

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

Після м'якого збою СУБД виконує такі основні кроки:

  • відкат незавершених транзакцій;
  • відтворюються операції завершених транзакцій, які ще не встигли зафіксуватися у зовнішній пам'яті (зникли безслідно з буфера оперативної пам'яті).

13. Які основні кроки виконуються при «жорсткому» збої для відновлення бази даних?

Жорсткий збій характеризується втратою інформації на носіях зовнішньої пам'яті.

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

  • журнал операцій;
  • архівну копію бази даних. Архівна копія бази даних - це повна копія бази даних, яка була зроблена на деякий момент ведення журналу. Якщо вдало створюється архівна копія бази даних, то на даний момент, попередні операції в журналі фіксуються і новий облік в журналі починається з цієї позиції.

Важливим тут є наявність самого журналу.

14. Що таке надмірність даних в базі даних?

Надмірність даних в базі даних - це коли крім самих даних в базі даних зберігається ще й інша необхідна інформація. Ця інформація використовується системою управління базами даних.

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

15. Що собою представляє функція підтримки мов баз даних?

Будь-яка СУБД повинна підтримувати мови баз даних. Це означає, що для роботи з даними в базі даних, повинні використовуватися спеціальні мови. Ці мови називаються мовами баз даних (наприклад, SQL, MDX, SPARQL, FoxPro, PL / Perl і т.д.).

Для сучасних баз даних в основному виділяються дві мови:

  • мова визначення схем даних (Schema Definition Language, SDL). Ця мова використовується для визначення логічної структури бази даних;
  • мова маніпулювання даними (Data Manipulation Language, DML). Така мова містить набір операторів маніпулювання даними (додавання, видалення і зміна даних) і вибірки даних з бази даних.

Для сучасних реляційних баз даних стандартною мовою використання є мова SQL (Stuctured Query Language). Ця мова дозволяє визначати схему даних і маніпулювати цими даними.

пов'язані теми

1. Які основні функції СУБД?
2. Що означає безпосереднє управління даними у зовнішній пам'яті?
3. Що означає управління буфером оперативної пам'яті?
4. Що називається транзакцією?
В чому полягає суть управління транзакціями?
5. Для чого потрібно управління транзакціями в базі даних?
6. Що таке сериализация і серійний план транзакцій?
7. Що відбувається, якщо дві транзакції хочуть мати доступ до одного і того ж об'єкту бази даних?
8. Що таке журнализация або ведення протоколу в базі даних?
9. Які вимоги до збереження журналу змін бази даних?

Уважаемые партнеры, если Вас заинтересовала наша продукция, мы готовы с Вами сотрудничать. Вам необходимо заполнить эту форму и отправить нам. Наши менеджеры в оперативном режиме обработают Вашу заявку, свяжутся с Вами и ответят на все интересующее Вас вопросы.

Или позвоните нам по телефонам: (048) 823-25-64

Организация (обязательно) *

Адрес доставки

Объем

Как с вами связаться:

Имя

Телефон (обязательно) *

Мобильный телефон

Ваш E-Mail

Дополнительная информация: