льно застарілою, тому при виборі бази даних для бібліотеки краще використовувати інші, більш сучасні технології.
Клієнт-серверні СУБД
Клієнт-серверна СУБД розташовується на сервері разом з БД і здійснює доступ до БД безпосередньо, в монопольному режимі. Всі клієнтські запити на обробку даних обробляються клієнт-серверної СУБД централізовано. Недолік клієнт-серверних СУБД полягає в підвищених вимогах до сервера. Переваги: ??потенційно більш низьке завантаження локальної мережі; зручність централізованого управління; зручність забезпечення таких важливих характеристик як висока надійність, висока доступність і висока безпека.
Приклади: Oracle, Firebird, Interbase, IBM DB2, Informix, MS SQL Server, Sybase Adaptive Server Enterprise, PostgreSQL, MySQL.
На сьогоднішній день розробники програмного забезпечення використовують в основному саме клієнт-серверні СУБД. Крім таких потужних комерційних продуктів як Oracle, MS SQLServer або Interbase, існує багато й інших різноманітних за функціями та можливостями баз даних, у тому числі і безкоштовних. Проте всі вони в силу своєї архітектури досить вимогливі до апаратних ресурсів, оскільки для їх роботи потрібен окремий працюючий процес, зазвичай споживає чималий обсяг пам'яті. Тому для проекту бібліотеки цей варіант теж не підходить.
Вбудовувані СУБД
Вбудована СУБД - СУБД, яка може поставлятися як складова частина деякого програмного продукту, не вимагаючи процедури самостійної установки. Вбудована СУБД призначена для локального зберігання даних свого додатку і не розрахована на колективне використання в мережі. Фізично вбудовується СУБД найчастіше реалізована у вигляді підключається бібліотеки. Доступ до даних з боку додатка може відбуватися через SQL або через спеціальні програмні інтерфейси.
Приклади: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Sav Zigzag, Microsoft SQL Server Compact.
Однією з вбудованих СУБД, активно набирає популярність останнім часом, є SQLite - компактна вбудована база даних.
SQLite
SQLite - легковага вбудовується реляційна база даних. SQLite є абсолютно безкоштовною для використання в будь-яких проектах.
SQLite складається з бібліотеки, яка додається до розроблюваної програмі і таким чином стає її складовою частиною. Таким чином, в якості протоколу обміну використовуються виклики функцій бібліотеки SQLite. Такий підхід зменшує накладні витрати, час відгуку і спрощує програму. SQLite зберігає всю базу даних (включаючи визначення, таблиці, індекси і дані) в єдиному стандартному файлі на тому комп'ютері, на якому виповнюється програма. Простота реалізації досягається за рахунок того, що перед початком виконання транзакції записи весь файл, що зберігає базу даних, блокується.
Кілька процесів або потоків можуть одночасно без будь-яких проблем читати дані з однієї бази. Запис у базу можна здійснити тільки в тому випадку, якщо ніяких інших запитів в даний момент не обслуговується; в іншому випадку спроба запису закінчується невдачею, і в програму повертається код помилки. Іншим варіантом розвитку подій є автоматичне повторення спроб запису протягом заданого інтервалу часу.
У комплекті поставки йде також функціональна клієнтсь...