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 как базы данных, например:
- Adobe Flex
- Catalyst
- Django
- Java
- PHP
- Ruby on Rails
- Trac
- Symfony
- Parser
- Qt
- 1C Работа в 1С-Предприятии 7.7 с базами данных SQLite
- SQLite Manager — add-on для Firefox предлагает визуальный интерфейс для работы с 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.
См. также
Ссылки
| В Википедии есть портал «Свободное программное обеспечение» |
- Официальный сайт
- Русская страница
- SQLite Database Browsers — программы просмотра и администрирования баз SQLite
- SQLite Administrator — средство администрирования и редактор SQL-запросов в SQLite
Примечания
Системы управления базами данных (СУБД) |
|
|---|---|
| Серверные |
Caché • DB2 • Firebird • Informix • Ingres • InterBase • MSDE • MS SQL Server • MySQL • mSQL • Oracle • Pervasive SQL • PostgreSQL • Sybase ASE • Sybase ASA • Sybase IQ • Teradata • ЛИНТЕР • Mnesia |
| Движки | |
| Клиентские |
DataFlex • dBase • MS Access • OpenOffice.org Base • Paradox • Sav Zigzag |
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....