5 ms·
Here's sqlite doing 100 million inserts in 33 seconds which should fit into nearly every workload, though it is batched. https://avi.im/blag/2021/fast-sqlite-in
by ledgerdev 4y ago
Here's sqlite doing 100 million inserts in 33 seconds which should fit into nearly every workload, though it is batched. https://avi.im/blag/2021/fast-sqlite-inserts/ https://avi.im/blag/2021/fast-sqlite-inserts/
So write contention from multiple connections is what you're talking about, versus a single process using sqlite?
- lvass 4y agoKeyword here is transactions, not processes. You can model any workload to be transaction-efficient, but it might not be easy.
- endisneigh 4y agoNo durability guarantee is a showstopper for any serious use case
- axelthegerman 4y agoNot sure what you mean by durability. Sqlite has WAL that can be replicated (see litestream)
- endisneigh 4y agohttps://en.m.wikipedia.org/wiki/Durability_(database_systems) https://en.m.wikipedia.org/wiki/Durability_(database_systems...
- dinosaurdynasty 4y agohttps://www.sqlite.org/atomiccommit.html https://www.sqlite.org/atomiccommit.html sqlite is as good at durability as any non-replicated database, though you can configure it to be non-durable (most other databases too tbf). https://www.sqlite.org/pragma.html#pragma_synchronous https://www.sqlite.org/pragma.html#pragma_synchronous By default WAL mode can rollback committed transactions in cases of power failure, but you can do `PRAGMA synchronous = FULL` to trade speed for durability.
- endisneigh 4y agoI’m talking about the post I originally commented on. Things were disabled so durability is not guaranteed.
- dinosaurdynasty 4y agoYeah that's not great
- ledgerdev 4y agoIf it's good enough for avionics and nuclear subs, it's probably good enough for most web apps.
- endisneigh 4y agoWeb apps do more concurrent writes than subs, plus you can configure SQLite for more durability
- sph 4y agoI don't have the data for subs, but there's web app and web app. No one is talking about using SQLite for 5k queries/s. It might work, but I reckon 90% of web applications live beneath this relatively small threshold and 80% probably don't even reach 50 q/s.
- samatman 4y agoThat's correct, I meant the many cores to allude to many processes.