Recently I've had some really great success using SQLite on an embedded project with decent enough support for concurrency using busy_timeout [https://www.sqlite.org/c3ref/busy_timeout.html] and WAL [https://www.sqlite.org/wal.html].