SQLite
| Розробник(и) | Річард Гіп (Richard Hipp) |
|---|---|
| Стабільний випуск | 3.7.10 / 17 січня 2012 |
| Написано на | C |
| Операційна система | багатоплатформовість |
| Тип | система управління базами даних |
| Ліцензія | суспільне надбання |
| Сайт | sqlite.org |
SQLite — вбудовуваний рушій баз даних, тобто бібліотека, де реалізовано багато зі стандарту SQL-92. У 2005 році проект отримав нагороду Google-O’Reilly Open Source Awards.
Слово «вбудовуваний» означає, що SQLite не використовує парадигму клієнт-сервер, тобто двигун SQLite не є окремим процесом, з яким взаємодіє застосунок, а надає бібліотеку, з якою програма компілюється і рушій стає складовою частиною програми. Таким чином, як протокол обміну використовуються виклики функцій (API) бібліотеки SQLite. Такий підхід зменшує накладні витрати, час відгуку і спрощує програму. SQLite зберігає всю базу даних (включаючи визначення, таблиці, індекси і дані) в єдиному стандартному файлі на тому комп'ютері, на якому виконується застосунок. Простота реалізації досягається за рахунок того, що перед початком виконання транзакції весь файл, що зберігає базу даних, блокується; ACID-функції досягаються зокрема за рахунок створення файлу-журналу.
Кілька процесів або нитей можуть одночасно без жодних проблем читати дані з однієї бази. Запис в базу можна здійснити тільки в тому випадку, коли жодних інших запитів в цей час не обслуговується; інакше спроба запису закінчується невдачею, і в програму повертається код помилки. Іншим варіантом розвитку подій є автоматичне повторення спроб запису протягом заданого інтервалу часу.
У комплекті постачання йде також функціональна клієнтська частина у вигляді виконуваного файлу sqlite3, за допомогою якого демонструється реалізація функцій основної бібліотеки. Клієнтська частина працює з командного рядка, і дозволяє звертатися до файлу БД на основі типових функцій ОС.
Завдяки архітектурі рушія можливо використовувати SQlite як на вбудовуваних (embedded) системах, так і на виділених машинах з гігабайтними масивами даних.
Зміст |
[ред.] Технології, що підтримують SQLite
[ред.] Мови програмування
Сама бібліотека SQLite написана мовою C; існує велика кількість прив'язок до інших мов програмування, зокрема до C++, Java, Python, Perl, PHP, Tcl (засоби для роботи з Tcl включені в комплект постачання SQLite), Ruby, Haskell, Scheme, Smalltalk і Lua, а також до багатьох інших. Повний список наявних засобів можна знайти на сторінці проєкту[1].
[ред.] Web-інструментарії
У ряді інструментаріїв присутня можливість використання SQLite як бази даних, наприклад:
- Django
- Java
- PHP
- Ruby on Rails
- Trac
- Symfony
- Parser
- 1C Работа в 1С-Предприятии 7.7 с базами данных SQLite
[ред.] Застосунки
Багато програм підтримують SQLite як формат зберігання даних, зокрема:
- Amarok (може використовувати бази даних SQLite як сховище музичної колекції)
- Gajim — SQLite використовується для зберігання історії контактів
- Songbird (як застосунок, заснований на XULRunner 1.9)
- Banshee
- F-Spot
- Платформа XUL на рушії Gecko 1.9, XULRunner 1.9 і, потенційно, всі застосунки, засновані на цій платформі, у тому числі і Firefox від версії 3.0
- Google Gears
- Mendeley — менеджер паперів-pdf, академічний засіб для дослідження (реалізується desktop & web).
- Zotero — менеджер інформації, бібліографічний менеджер, додаток Firefox