Conversation

I made multi-process transactions on SQLite databases of 600GiB, so I have no idea what they are talking about, but let's say I would trust SQLite more than, uh, whatever is currently failing at 17MiB.
Image
4
77
Replying to and
WAL journal mode also supports any number of concurrent readers with 1 concurrent writer. WAL makes it a great fit in many cases where you previously would have needed a database server. SQLite scales very well to fairly large amounts of data and just can't do concurrent writers.
1
1
Replying to
But even a rollback journal is not a copy of the whole database! WAL has better locking semantics, but even plain DELETE mode would work here. Also, it does serialization of concurrent writes, so unless you have a lot of parallelizable writes (not the case), it's not a problem.
1
Replying to
Yeah, it's only a copy of the pages that are being changed. It's sized based on the size of the database for efficiency, but it doesn't need to copy everything for each transaction. The traditional locking can definitely be an issue but WAL mode makes it viable in far more cases.
1
1
Replying to
Agreed on WAL being the better option most of the time, but does TRUNCATE mode really make the journal as big as the db every time? It seems like a weird choice as no client ordinarily reads the journal, and I can't find that documented anywhere.
1
Show replies