SQLite

Материал из Seo Wiki - Поисковая Оптимизация и Программирование

Перейти к: навигация, поиск

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 в качестве формата хранения данных, в том числе:

  • Gajim — SQLite используется для хранения истории контактов
  • Songbird (как приложение основанное на XULRunner 1.9)
  • Banshee
  • F-Spot
  • Платформа XUL на движке Gecko 1.9, XULRunner 1.9 и, потенциально, все приложения основанные на этой платформе, в том числе Firefox (начиная с версии 3.0) и Thunderbird (начиная с версии 3.0)
  • Google Gears
  • IMatch

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

См. также

Ссылки

Примечания

  1. Список привязок SQLite для других языков
Источник — «http://www.sbup.com/wiki/SQLite»
Личные инструменты

Served in 0.157 secs.