SQLite

Материал из Википедии — свободной энциклопедии

Перейти к: навигация, поиск
SQLite
Тип Реляционная СУБД
Разработчик Ричард Хипп
Написана на C
ОС Кроссплатформенное программное обеспечение
Версия 3.6.16 — 27 июня 2009
Лицензия Общественное достояние
Сайт SQLite

SQLite — встраиваемый движок баз данных. В 2005 году проект получил награду Google-O’Reilly Open Source Awards.

Содержание

[править] Дизайн

Слово «встраиваемый» означает, что SQLite не использует парадигму клиент-сервер, то есть движок SQLite не является отдельно работающим процессом, с которым взаимодействует программа, а предоставляет библиотеку, с которой программа компонуется и движок становится составной частью программы. Таким образом, в качестве протокола обмена используются вызовы функций (API) библиотеки SQLite. Такой подход уменьшает накладные расходы, время отклика и упрощает программу. SQLite хранит всю базу данных (включая определения, таблицы, индексы и данные) в единственном стандартном файле на том компьютере, на котором исполняется программа. Простота реализации достигается за счёт того, что перед началом исполнения транзакции весь файл, хранящий базу данных, блокируется; ACID-функции достигаются в том числе за счёт создания файла-журнала.

Несколько процессов или потоков могут одновременно без каких-либо проблем читать данные из одной базы. Запись в базу можно осуществить только в том случае, если никаких других запросов в данный момент не обслуживается; в противном случае попытка записи оканчивается неудачей, и в программу возвращается код ошибки. Другим вариантом развития событий является автоматическое повторение попыток записи в течение заданного интервала времени.

В комплекте поставки идет также функциональная клиентская часть в виде исполняемого файла sqlite3, с помощью которого демонстрируется реализация функций основной библиотеки. Клиентская часть работает из командной строки, позволяет обращаться к файлу БД на основе типовых функций ОС.

Благодаря архитектуре движка возможно использовать Sqlite как на встраиваемых (embedded) системах, так и на выделенных машинах с гигабайтными массивами данных.

[править] Технологии, поддерживающие SQLite

[править] Языки программирования

Сама библиотека SQLite написана на C; существует большое количество привязок к другим языкам программирования, в том числе C++, Java, .NET, 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

SQLite широко используется в Mac OS как стандартное для многих приложений средство хранения данных с произвольным доступом. Также SQLite широко используется в iPhone, чья операционная система есть специально адаптированное для мобильного устройства подмножество Mac OS.

[править] См. также

[править] Ссылки

Портал:Свободное программное обеспечение
В Википедии есть портал
«Свободное программное обеспечение»

[править] Примечания

  1. Список привязок SQLite для других языков
Источник — «http://ru.wikipedia.org/wiki/SQLite»