![]() | |
![]() | |
Тип | реляційна система управління базами даних |
---|---|
Розробник | Річард Гіп[en] |
Стабільний випуск | 3.38.5 (6 травня2022; 2 роки тому (2022-05-06)) |
Операційна система | багатоплатформовість |
Мова програмування | C |
Ліцензія | суспільне надбання |
Репозиторій | https://sqlite.org./docsrc,https://sqlite.org./src |
Вебсайт | sqlite.org |
SQLite — полегшенареляційна система керування базами даних. Втілена у виглядібібліотеки, де реалізовано багато зі стандартуSQL-92.Початковий код SQLite поширюється яксуспільне надбання (англ.public domain), тобто може використовуватися без обмежень та безоплатно з будь-якою метою. Фінансову підтримку розробників SQLite здійснює спеціально створенийконсорціум, до якого входять такі компанії, якAdobe,Oracle,Mozilla,Nokia,Bentley[en] іBloomberg.
З 2018 року SQLite, як йJSON таCSV, рекомендованийБібліотекою Конгресу США формат зберігання структурованого набору даних[1].
У2005 році проєкт отримав нагородуGoogle-O'Reilly Open Source Awards.
Особливістю SQLite є те, що вона не використовує парадигмуклієнт-сервер, тобто рушій SQLite не є окремимпроцесом, з яким взаємодієзастосунок, а надає бібліотеку, з якою програма компілюється і рушій стає складовою частиною програми. Таким чином, як протокол обміну використовуються виклики функцій (API) бібліотеки SQLite. Такий підхід зменшує накладні витрати, час відгуку і спрощує програму. SQLite зберігає всю базу даних (включаючи визначення,таблиці,індекси і дані) в єдиному стандартному файлі на томукомп'ютері, на якому виконується застосунок. Простота реалізації досягається за рахунок того, що перед початком виконання транзакції весьфайл, що зберігає базу даних, блокується;ACID-функції досягаються зокрема за рахунок створення файлу-журналу.
Кількапроцесів абопотоків можуть одночасно без жодних проблем читати дані з однієї бази. Запис в базу можна здійснити тільки в тому випадку, коли жодних інших запитів у цей час не обслуговується; інакше спроба запису закінчується невдачею, і в програму повертається код помилки. Іншим варіантом розвитку подій є автоматичне повторення спроб запису протягом заданого інтервалу часу.
У комплекті постачання йде також функціональна клієнтська частина у виглядівиконуваного файлу sqlite3, за допомогою якого демонструється реалізація функцій основної бібліотеки. Клієнтська частина працює зкомандного рядка, і дозволяє звертатися до файлу БД на основі типових функційОС.
Завдяки архітектурі рушія можливо використовувати SQlite як навбудовуваних (embedded) системах, так і на виділених машинах з гігабайтними масивами даних.
Створення та обслуговування БД можуть здійснюватись через текстову консоль SQL-командами або через спеціальні інструменти, у тому числі — зграфічним інтерфейсом користувача[3].
Сама бібліотекаSQLite написана мовоюC. Проте є реалізація бібліотеки наJavaScriptsql.js
, яка дозволяє обробляти файли БД безпосередньо в браузері[4].
Для іншихмов програмування розроблено механізм підключення й роботи з БД через цю бібліотеку:C++,Java,Python,Perl,PHP,Ruby,Haskell,Scheme,Smalltalk,Lua тощо. Засоби для роботи зTcl включені в комплект постачання SQLite. Повний список наявних засобів можна знайти на сторінці проєкту[5].
У ряді інструментаріїв присутня можливість використання SQLite як бази даних, наприклад:
Багато програм підтримують SQLite як формат зберігання даних, зокрема: