SQLite – это встраиваемая библиотека в которой реализовано многое из стандарта SQL 92. Её притязанием на известность является как собственно сам движок базы, так и её интерфейс (точнее его движок) в пределах одной библиотеки, а также возможность хранить все данные в одном файле. Я отношу позицию функциональности SQLite где-то между MySQL и PostgreSQL. Однако, на практике, SQLite не редко оказывается в 2-3 раза (и даже больше) быстрее. Такое возможно благодаря высокоупорядоченной внутренней архитектуре и устранению необходимости в соединениях типа «сервер-клиент» и «клиент-сервер».
Всё это, собранное в один пакет, лишь немногим больше по размеру клиентской части библиотеки MySQL, является впечатляющим достижением для полноценной базы данных. Используя высоко эффективную инфраструктуру, SQLite может работать в крошечном объёме выделяемой для неё памяти, гораздо меньшем, чем в любых других системах БД.
Преимущества SQLite
- Файловая структура — вся база данных состоит из одного файла, поэтому её очень легко переносить на разные машины
- Отсутствие необходимости настройки сервера СУБД
- Полностью свободная лицензия
- Кроссплатформенность
- Высокая скорость простых операций выборки данных
- Поддержка транзакций, триггеров, представлений (views), вложенных запросов
- Безопасность. БД хранится в одном файле, права доступа к которому можно контролировать стандартными средствами ОС
- Очень экономичная, в плане ресурсов, архитектура.
Недостатки SQLite
- отсутствие системы пользователей — более крупные СУБД включают в свой состав системы управления правами доступа пользователей. Обычно применения этой функции не так критично, так как эта СУБД используется в небольших приложениях.
- отсутствие возможности увеличения производительности — опять, исходя из проектирования, довольно сложно выжать что-то более производительное из этой СУБД.
Стоит ли использовать SQLite в веб-разработке?
Несомненно стоит использовать SQLite в своих разработках, но с учетом особенностей это БД. SQLite прекрасно подойдет для проектов у которых мало операций записей, не нужна система прав доступа к БД и ограниченны ресурсы сервера.
Что еще прочитать: Полнотекстовый поиск в Sqlite