For future reference, here's a small addition. As I said, we are using the Cuirass SQLite database in WAL mode. This means that insertion queries are added to a separate cuirass.db-wal file. Once in a while, this file is supposed to be merged in the main cuirass.db file.
This mechanism known as checkpointing is supposed to occur automatically once 4MB of data are added to the WAL file. On berlin, the WAL file of Cuirass is 9.4M and the Guix WAL file is almost 1G. As reading from the WAL file is less effective, and checkpointing a large file will end-up locking the database for some times, we should definitely try to understand why the Guix WAL file get so big. Thanks, Mathieu