Об’єктно-орієнтовані бази даних

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

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

Дані в об’єктно-орієнтованих базах даних здатні прийняти вид будь-якої структури, яку можна виразити використовуваною мовою програмування. Відносини між сутностями також можуть бути довільно складними. Об’єктно-орієнтована база даних управляє кеш-буфером об’єктів, переміщаючи об’єкти між буфером і дисковим сховищем у міру необхідності.

За допомогою об’єктно-орієнтованих баз даних вирішуються дві проблеми. По-перше, складні інформаційні структури виражаються в них краще, ніж у реляційних базах даних, а по-друге, усувається необхідність транслювати дані з того формату, що підтримується в СКБД. Наприклад, у реляційній СКБД розмірність цілих чисел може становити 11 цифр, а у використовуваній мові програмування – 16. Програмістові прийде враховувати цю ситуацію.

Об’єктно-орієнтовані СКБД виконують багато додаткових функцій. Це окупається сповна, якщо відносини між даними дуже складні. У такому випадку продуктивність об’єктно-орієнтованих баз даних виявляється вище, ніж у реляційних СКБД. Якщо ж дані менш складні, додаткові функції виявляються надлишковими. В об’єктній моделі даних підтримуються нерегламентовані запити, але мовою їхнього складання не обов’язково є SQL. Логічне подання даних може не відповідати реляційній моделі, тому застосування мови SQL стане безглуздим. Найчастіше зручніше обробляти об’єкти в пам’яті, виконуючи відповідні види пошуку.

Великим недоліком об’єктно-орієнтованих баз даних є їхні тісні зв’язки із застосовуваною мовою програмування. До даних, що зберігаються в реляційній СКБД, можуть звертатися будь-які додатки, тоді як, приміром, Java-об’єкт, поміщений в об’єктно-орієнтовану базу даних, буде становити інтерес лише для додатків, написаних на Java.

Попередня стаття
Наступна стаття