▲ | jabwd 4 days ago | |||||||
Sqlite defaults in many ways perfectly fine, you get the foot guns when you need the performance. Read the article rather than commenting on HN because WAL is not default. | ||||||||
▲ | btown 4 days ago | parent | next [-] | |||||||
There's some nuance here. The compiler flags SQLITE_DEFAULT_SYNCHRONOUS and SQLITE_DEFAULT_WAL_SYNCHRONOUS are set to FULL by default, which does fsync on each commit. https://sqlite.org/compile.html But there is a thing called NORMAL mode which, in WAL and non-WAL mode, does not fsync on each commit. In WAL mode, at least this doesn't cause corruption, but it can still lose data. https://www.sqlite.org/pragma.html#pragma_synchronous is very explicit that the thing called NORMAL does have these risks. But it's still called NORMAL, and I'd think that's something of a foot-slingshot for newcomers, if not a full-fledged footgun. | ||||||||
| ||||||||
▲ | ehutch79 3 days ago | parent | prev | next [-] | |||||||
But I constantly read advice to change to WAL on this very site. No further nuance, just that if I do it’ll out perform a MySQL cluster. | ||||||||
| ||||||||
▲ | nh2 4 days ago | parent | prev [-] | |||||||
> Sqlite defaults in many ways perfectly fine In the sibling comment we are discussing how the default of sqlite is not durable, so it's only ACI, not ACID. https://news.ycombinator.com/item?id=45005866 So you do get the foot guns automatically. > rather than commenting on HN I appreciate the parent commenting on HN, because they seem to be ... right. | ||||||||
|