Вбудовувана система керування базами даних — архітектура , коли СКБД тісно пов'язана з застосунком і працює на тому ж комп'ютері, не потребуючи професійного (адміністрування).
Вбудовувані СКБД застосовують у багатьох програмах, які зберігають великі масиви даних без потреби доступу з багатьох комп'ютерів: поштових клієнтах та месенджерах (бази листування), медіапрогравачах ((плей-листи) та обкладинки), (переглядачах зображень) ((метадані) та зменшені ескізи), різні локальні БД на кшталт телефонних довідників і (геоінформаційних систем) (надавані дані) тощо.
Історично локальні та файл-серверні СКБД надавали (скриптову мову), якою користувач міг писати прикладну програму. Так влаштовані (Microsoft Access), , (Clipper), (1С: Бухгалтерія). Недоліком цього підходу була бідність результуючих програм, обмежені засоби налагодження. І найчастіше не існувало компактного середовища виконання, яке можна розповсюджувати разом із програмою; потрібна програма — встановлюй весь пакунок. З поширенням (динамічного зв'язування) та ідеології opensource маятник хитнувся в інший бік: нехай програміст пише свою програму тією мовою високого рівня, якою зручно. СКБД приєднається до програми і стане з нею єдиним цілим.
Особливості
- Немає окремої програми-сервера.
- Фізично вбудовувана СКБД є (бібліотекою), яка статично або динамічно приєднується до основної програми. Програма та СКБД спілкуються не через (мережеві сокети), а через спеціалізований (програмний інтерфейс). У цьому, щоправда, є й недолік: найчастіше програміст сам повинен не допускати (багатопотокової гонитви).
- Висока швидкість і мала витрата пам'яті, особливо на довгих (рядках) та (BLOBах).
- Завдяки спеціалізованому API кількість операцій читання-запису є мінімальною.
- Найчастіше невеликий за мірками БД максимальний розмір бази.
- Від одиниць (гігабайт) (обсяг пам'яті ПК на 2012) до одиниць (терабайт) (порядку обсягу жорсткого диска). Наприклад, (SQLite) завжди містить у пам'яті зміст БД (аналог (таблиці розміщення файлів)), цим обмежується обсяг БД.
- Як правило, спеціалізована мова запитів або неповна сумісність із (SQL-92).
- Часто для продуктивності розробники реалізують або неповний SQL ((SQLite)), або спеціалізовану мову запитів ((BerkeleyDB)). До того ж вбудовувані СУБД можуть діяти зовсім за іншим принципом, ніж клієнт-серверні: (пінг) до БД нульовий, і запит можна виконувати частинами, декількома зверненнями до СУБД.
- Як правило, немає прав користувача; найпростіша (ізоляція) (транзакцій).
- Більшого однокористувацькій БД і не потрібно. Як правило, транзакції ізолюються за принципом («записуємо по одному») за допомогою стандартних механізмів ОС на кшталт . Доступ до одного файлу з кількох програм можна налагодити: так, (SQLite) успішно працює в малонавантажених сайтах. Але високе навантаження йому не під силу.
- Як правило, немає (архівації) та (реплікації) БД.
- Вбудована БД надійна настільки, наскільки надійна бібліотека СКБД і файлова система, де розташовано базу даних. Відомі вбудовувані СКБД, як правило, добре відтестовані, а сучасні файлові системи дуже надійні. Разом з тим, є безліч способів втратити дані, тому такі рішення щодо надійності поступаються серверним СКБД.
- Як правило, немає мовних засобів, які спрощують доступ до БД.
- Спеціалізовані СКБД-мови на зразок зазвичай є симбіозом мови запитів і мови прикладного програмування. У мовах програмування загального призначення правильність запиту буде перевірено не під час компіляції, а лише тоді, коли запит буде надіслано в СКБД. І, звичайно ж, мовою програмування загального призначення конструкції доступу до БД (як вбудованої, так і клієнт-серверної) будуть «важкими».
- Втім, у (C#) є мова запитів (LINQ), яка компілюється в комбінацію викликів методів, а ті, як правило, готують звичайний SQL.
Приклади
- (Advantage Database Server)
- Oracle (Berkeley DB)
- Вбудовувана версія (Firebird)
- (HSQLDB)
- Вбудовувана версія (Informix Dynamic Server)
- Вбудовувана версія (InnoDB)
- Вбудовувана версія (InterBase)
- Вбудовувана версія (MySQL)
- (SQLite)
- Microsoft
Примітки
- Зокрема, (Skype) використовує (SQLite) для зберігання баз листування
- Зокрема, (AIMP) використовує (SQLite) для зберігання плей-лістів
- Зокрема, (XnView) зберігає в базі (SQLite) ескізи та
- Приклад API BerkeleyDB(англ.)
- Приклад API SQLite [ 2012-12-20 у Wayback Machine.](англ.)
- Застосування SQLite [ 2012-12-20 у Wayback Machine.](англ.)
- Чого немає в SQLite [ 2012-12-20 у Wayback Machine.](англ.)
- Як тестується SQLite [ 2012-12-21 у Wayback Machine.](англ.)
- Як можна зіпсувати таблицю SQLite [ 2014-08-09 у Wayback Machine.](англ.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет