Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Типова організація сучасної СУБД






Організація і склад компонентів типовою СУБД відповідають виконуваного нею набору функцій. Виділяють наступні основні функції СУБД:

1) підтримка мов БД;

2) управління даними у зовнішній пам'яті;

3) управління буферами оперативної пам'яті;

4) управління транзакціями;

5) журналізація і відновлення БД після збоїв.

 

Більш докладно ці функції будуть розглянуті далі.

Логічно в сучасній реляційної СУБД можна виділити внутрішню частину – ядро СУБД (часто його називають Data Base Engine), компілятора мови БД (зазвичай SQL), підсистему підтримки часу виконання, набір утиліт. У деяких системах ці частини виділяються явно, в інших – ні, але логічно такий поділ можна провести у всіх СУБД.

Ядро СУБД відповідає за управління даними у зовнішній пам'яті, управління буферами оперативної пам'яті, управління транзакціями і журналізацію. Відповідно можна виділити такі компоненти ядра (принаймні, логічно, хоча в деяких системах ці компоненти виділяються явно), як менеджер даних, менеджер буферів, менеджер транзакцій і менеджер журналу. Функції цих компонентів взаємопов'язані, і для забезпечення коректної роботи СУБД всі ці компоненти повинні взаємодіяти з ретельно продуманим і перевіреним протоколами. Ядро СУБД володіє власним інтерфейсом, не доступним користувачам безпосередньо і використовуються в програмах, вироблених компілятором SQL (або в підсистемі підтримки виконання таких програм) і утилітах БД. Ядро СУБД є основною резидентною частиною СУБД. При використанні архітектури «клієнт– сервер» ядро є основною складовою серверної частини системи.

Основною функцією компілятора мови БД є компіляція операторів мови БД в деяку виконувану програму. Основною проблемою реляційних СУБД є те, що мови цих систем (а це, як правило, SQL) є непроцедурными, тобто в операторі такої мови специфікується деяка дія над БД, але ця специфікація не є процедурою, а лише описує в деякій формі умови здійснення бажаного дії. Тому компілятор повинен вирішити, яким чином виконувати оператор мови, перш ніж зробити програму. Застосовуються достатньо складні методи оптимізації операторів. Результатом компіляції є виконувана програма, запропонована в деяких системах в машинних кодах, але більш часто у виконуваному внутрішньому машинно-незалежний код. В останньому випадку реальне виконання оператора здійснюється із залученням підсистеми підтримки часу виконання, представляє собою, по суті справи, інтерпретатор цього внутрішнього мови.

Нарешті, в окремі утиліти БД зазвичай виділяють такі процедури, які занадто накладно виконувати з використанням мови БД, наприклад, завантаження і вивантаження БД, збір статистики, глобальна перевірка цілісності БД і т. д. Утиліти програмуються з використанням інтерфейса ядра СУБД, а іноді навіть з проникненням всередину ядра.

Розглянемо докладніше функції СУБД.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.