SQLite: различия между версиями

Материал из Simivod Wiki
мНет описания правки
мНет описания правки
Строка 31: Строка 31:
|-
|-
!Последняя версия
!Последняя версия
|
|3.46.0 (23 мая 2024)
|-
|-
!Репозиторий
!Репозиторий
|sqlite.org/src
|sqlite.org/src
|-
!Лицензия
|Общественное достояние
|-
!Сайт
|[https://sqlite.org/ sqlite.org] <small>(англ.)</small>
|}
|}
</div>
</div>

Версия от 14:25, 3 августа 2024

SQLite

Тип встраиваемая СУБД
Разработчик Ричард Хипп[вд]
Написана на Си
Операционная система кроссплатформенность
Первый выпуск август 2000
Последняя версия 3.46.0 (23 мая 2024)
Репозиторий sqlite.org/src
Лицензия Общественное достояние
Сайт sqlite.org (англ.)

SQLite — компактная встраиваемая СУБД. Исходный код библиотеки передан в общественное достояние. В 2005 году проект получил награду Google-O’Reilly Open Source Awards.

Устройство

Слово «встраиваемый» (англ. embedded) означает, что SQLite не использует парадигмы клиент-сервер, то есть движок SQLite не является отдельно работающим процессом, с которым взаимодействует программа, а представляет собой библиотеку, с которой программа компонуется, и движок становится составной частью программы.

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

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

Источник: Wikipedia