SQLite
Материал из Википедии — свободной энциклопедии
SQLite | |
Тип | Реляционная СУБД |
Разработчик | Ричард Хипп |
ОС | Кроссплатформенное программное обеспечение |
Текущая версия | 3.5.7 — 17 марта 2008 |
Лицензия | Общественное достояние |
Сайт | SQLite |
SQLite — встраиваемый движок баз данных. В 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 как базы данных, например:
[править] Прикладные программы пользователя
Многие программы поддерживают SQLite в качестве формата хранения данных, в том числе:
- Amarok (может использовать базы данных SQLite в качестве хранилища музыкальной коллекции)
- Gajim — SQLite используется для хранения истории контактов
- Songbird (как приложение основанное на XULRunner 1.9 )
- Banshee
- F-Spot
- Платформа XUL на движке Gecko 1.9, XULRunner 1.9 и, потенциально, все приложения основанные на этой платформе, в том числе и Firefox 3.0
- Google Gears
[править] См. также
- Apache Derby (en)
[править] Ссылки
- Официальный сайт
- Русская страница
- SQLite по-русски
- SQLite Database Browser - визуальное средство администрирования SQLite
- SQLite Administrator - средство администрирования и редактор SQL-запросов в SQLite