Чому слід використовувати бази даних

XML та бази даних

Чи є XML базою даних?

Перш ніж приступити до обговорення XML і баз даних, необхідно відповісти на питання, що природно виникає: «А чи є XML базою даних?». Якщо суворо дотримуватись визначення бази даних, то «XML» – у тому випадку, якщо під цим терміном мається на увазі XML-документ – базою даних не є. Хоча XML-документ містить дані без додаткового програмного забезпечення, яке служить для обробки цих даних, він є базою даних не більшою мірою, ніж будь-який інший текстовий файл.

Якщо говорити ширше, тобто, маючи на увазі під «XML» власне XML-документ і супроводжуючі XML інструменти та технології – відповідь звучатиме як «так, але». Так, тому що XML надає безліч функцій баз даних: зберігання (XML-документ), схеми (DTDS, мова визначення схем XML), мова запитів (XQL, XML-QL, QUILT та інші), інтерфейси для мов програмування (SAX , DOM) і так далі. «Але», тому що багато функцій притаманні класичним базам даних все ж таки відсутні: ефективне зберігання, індексація, забезпечення безпеки, обробка транзакцій і підтримка цілісності даних, розрахований на багато користувачів доступ, тригери, підтримка запитів до багатьох документів і т.д.

Таким чином, хоча допустимо використовувати XML як базу даних у середовищах, де немає великих обсягів інформації, великої кількості користувачів, а також не потребують високої продуктивності, він абсолютно не підходить для багатьох реальних завдань, що передбачають підтримку великої кількості користувачів, жорсткі вимоги до цілісності даних та продуктивності. Крім того, враховуючи невисокі ціни на такі продукти, як dBASE та Access, немає серйознихпричин використовувати XML як базу даних навіть тоді, коли це можливо з урахуванням особливостей сфери застосування.

Чому слід використовувати бази даних?

Перше, що необхідно усвідомити для себе, розглядаючи питання про застосування XML та бази даних – чому остання має стати основним інструментом. Чи є необхідність отримувати доступ до успадкованих даних? Чи потрібне місце для зберігання Web-сторінок? Чи використовується база даних програмою електронної комерції, в якій XML відіграє роль засобу передачі даних? Відповіді на ці питання вплинуть на вибір бази даних та проміжного ПЗ (якщо воно буде використовуватися), а також спосіб застосування бази даних.

Наприклад, наприклад, використовується додаток електронної комерції, в якому XML відіграє роль транспорту даних. Можна впевнено стверджувати, що дані відрізняються великою структурованістю і що такі аспекти, як сутності та кодування, що застосовуються в документах XML, не мають вирішального значення, зрештою, важливі самі дані, а не те, як вони фізично зберігаються в документі. Якщо використовується відносно проста програма, реляційна база даних і проміжне ПЗ як транспорт даних можуть задовольнити всі вимоги. Якщо ж це велика і складна програма, потрібно повне середовище розробки програм, що підтримує XML.

З іншого боку, виникають і такі завдання, як підтримка Web-сайтів з великою кількістю XML-документів, які містять, в основному, текстову інформацію. Таким сайтом потрібно не тільки керувати, а й забезпечувати доступ для численних користувачів. Швидше за все, структура документів тут дуже неоднорідна, а використання сутностей має важливе значення, оскільки вони становлять основу структуруваннядокументів. У цьому випадку, можливо, виникне потреба в базах даних з «природною підтримкою» XML, які забезпечують підтримку версій, відстеження використання сутностей та мову запитів на кшталт XQL.

Дані та документи

Мабуть, найважливішим чинником вибору бази даних і те, навіщо планується її використовувати – зберігання даних чи документів. Якщо потрібно зберігати дані, потрібно вибирати базу даних, налаштовану на зберігання даних, тобто реляційну або об'єктно-орієнтовану, а також проміжне програмне забезпечення, призначене для передачі даних від бази даних до документів XML. З іншого боку, потреба у зберіганні документів змушує вибирати систему управління інформаційним забезпеченням, яка орієнтована спеціально на зберігання документів.

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