Most databases lock individual tables (or even only rows) during transactions, but because of its implementation, SQLite locks the whole database on inserts, which makes concurrent read/write access dramatically slow.