SQLite – это библиотека, написанная на языке C, реализующая SQL
механизм работы с данными, другими словами, движок баз данных.
SQLite не является клиентской библиотекой, позволяющей только
подсоединять приложение к серверу баз данных, SQLite сама является
сервером баз данных.
SQLite библиотека производит запись данных непосредственно в файл на
диске, а также позволяет читать, обновлять и искать данные на основе языка
запросов SQL, преимущественно ориентируясь на стандарт SQL 92.
Основные преимущества использования SQLite
Распространяется бесплатно.
Простота установки.
В PHP 5 поддержка SQLite
встроена автоматически (SQLite 2.8.14).
Легкость администрирования.
А поскольку SQLite
хранит данные в обычных файлах, то отпадает всякая необходимость в
дополнительных средствах администрирования. Каждый пользователь имеет свои
собственные базы данных (в любом количестве создаваемые самим
пользователем!) и права доступа реализуются файловой системой сервера
автоматически.
Простота использования.
В отличие от других баз
данных SQLite является бестиповой базой. При создании таблицы необходимо
только указать имена полей, но не их тип, так как все данные SQLite хранит
в формате строки. Единственное отличие по типу актуально только в случае
сортировки данных и это различие обыгрывается внутри самой SQLite.
Производительность.
Поскольку движок базы и
интерфейс к ней реализованы как единое целое, огромный преимуществом
SQLite является высокая производительность – для большинства типичных
задач приложение, построенное на SQLite, работает быстрее, чем при
использовании MySQL, в 2-3 раза и быстрее PostgreSQL в
10-20 раз! И это притом, что объем памяти сервера, который он выделяет для
SQLite, очень и очень мал.
Легкая переносимость между платформами, веб-серверами
и приложениями.
Фалы баз данных совместимы с различными
платформами (Windows, UNIX). Для переноса базы данных на веб-сервер нужно
всего лишь перенести 1 файл. Резервное копирование данных также
осуществляется копированием файла базы данных.
Объектно-ориентированный интерфейс.
Еще одним не
менее важным преимуществом SQLite является возможность использования
мощного объектно-ориентированного интерфейса к SQLite, что позволяет
строить высокоэффективные, легко расширяемые приложения.
Возможность хранить данные в базе объемом до 2
терабайт.
SQLite позволяет сохранять строки и бинарные данные
неограниченной длины.
Ограничения использования SQLite
Прежде всего, SQLite предназначена для небольших и средних по объему
приложений. Особенно актуально использование SQLite в случае, когда в
основном проводятся операции записи и считывания данных. Однако при
чрезвычайно активном обращении к данным или в случае частых сортировок
SQLite работает медленнее своих конкурентов из-за встроенного механизма
блокировки файлов (только при модификации данных) и необходимости проверки
типа полей для выбора способа сортировки.