Поскольку «множественные одновременные записи» гораздо, намного сложнее выполнить в ядре базы данных, чем в режиме «один-пишущий-несколько-читатель». Это выходит за рамки параметров проектирования SQLite, и его включение, вероятно, подорвет восхитительно небольшой размер и простоту SQLite.
Поддержка высокой степени параллелизма записи является отличительной чертой таких больших баз данных, как DB2, Oracle, SQL Server, MySQL, PostgreSQL, NonStop SQL и Sybase. Но это технически сложно осуществить, требуя обширных стратегий управления и оптимизации параллелизма, таких как блокировка базы данных, таблицы и строки или, в более современных реализациях, управление многовариантным параллелизмом . Исследования по этой проблеме / требованию обширны и уходят вглубь десятилетий .
У SQLite совершенно иная философия проектирования, чем у большинства тех серверно-ориентированных СУБД, которые поддерживают несколько программ записи. Он предназначен для того, чтобы передать возможности SQL и реляционной модели отдельным приложениям и, в действительности, быть встраиваемым в каждое приложение. Эта цель требует значительных компромиссов. Не добавление значительной инфраструктуры и накладных расходов, необходимых для обработки нескольких одновременно работающих авторов, является одним из них.
Философия может быть подытожена утверждением на соответствующей странице использования SQLite :
SQLite не конкурирует с базами данных клиент / сервер. SQLite конкурирует с fopen ().