3 ms·
DuckDB is designed for query processing, not updating data - I guess you would not want to use it for the transaction processing workloads just because it's eas
by exyi 6y ago
DuckDB is designed for query processing, not updating data - I guess you would not want to use it for the transaction processing workloads just because it's easier to install. If you are doing mostly complex queries, then DuckDB is great, but I think there is going to be little usage directly in production, I'd expect it's more used for data processing
- snicker7 6y agoAnd how great is SQLite for transactional workloads? Every transaction locks up the entire db. There is no page or even table level locking. DuckDB can't be worse than that.
- infogulch 6y agoSQLite is not at the top of the charts, but there's a looong ways to drop below it among the wide variety of desirable properties that it offers.
- nalgeon 6y agoSQLite in WAL mode allows single concurrent writer and unlimited readers. Which is completely fine for a wide range of production use cases.
- simonw 6y agoIn practice, I've found that most SQLite write operations take low-milliseconds to complete - so even under a very heavy write load (assuming WAL mode) you're unlikely to see any contention between writes. For my own stuff I maintain an in-memory Python queue of write operations and apply them in order against a single write connection - while running numerous other read-only connections to serve SELECTs.
- bondant 6y agoYes I'm doing very few update or insert, but I run a lot of queries, so I guess it should be more than okay for DuckDB.