Debido a que "múltiples escrituras concurrentes" es mucho, mucho más difícil de lograr en el motor de base de datos central que un solo escritor, un lector múltiple. Está más allá de los parámetros de diseño de SQLite, e incluirlo podría subvertir el tamaño y la simplicidad deliciosamente pequeños de SQLite.
El soporte de altos grados de concurrencia de escritura es un sello distintivo de los grandes motores de bases de datos como DB2, Oracle, SQL Server, MySQL, PostgreSQL, NonStop SQL y Sybase. Pero es técnicamente difícil de lograr, ya que requiere un amplio control de concurrencia y estrategias de optimización tales como bloqueo de bases de datos, tablas y filas o, en implementaciones más modernas, control de concurrencia de múltiples versiones . La investigación sobre este problema / requisito es voluminosa y se remonta a décadas .
SQLite tiene una filosofía de diseño muy diferente de la mayoría de esos DBMS centrados en el servidor que admiten múltiples escritores. Está diseñado para llevar el poder de SQL y el modelo relacional a aplicaciones individuales y, de hecho, para integrarse en cada aplicación. Ese objetivo requiere compensaciones significativas. No agregar la importante infraestructura y los gastos generales necesarios para manejar múltiples escritores concurrentes es uno de esos.
La filosofía se puede resumir mediante una declaración en la página de usos apropiados de SQLite :
SQLite no compite con las bases de datos cliente / servidor. SQLite compite con fopen ().