3 ms·
We use sqlite in data-heavy visualization website (http://atlas.cid.harvard.edu/ http://atlas.cid.harvard.edu/): We currently have an approximately 22GB sqlite
by makmanalp 8y ago
We use sqlite in data-heavy visualization website (http://atlas.cid.harvard.edu/ http://atlas.cid.harvard.edu/): We currently have an approximately 22GB sqlite file with the two largest tables going up to 150 million rows each. It still works just fine. The limiting factor seems to be the I/O throughput of the instance and disk of the server (EBS volumes).
Read-only workloads, most of which eventually get cached by the webserver, but still. Each visualization ends up pulling a large amount of data (sometimes in the 10 thousands of rows) so the network / serde overhead and the administration costs of an external database server adds up, though things have changed recently so perhaps a revisit is in order.
Where it hurts is: The query optimizer sometimes stumbles and does silly things (e.g. not always very smart about column / index selectivity statistics). The data import takes a long time (compared to e.g. postgres' COPY), so that's another pain point.
- infogulch 8y agoYou can help the optimizer stumbling by running ANALYZE [1] with representative data present, and turning off auto-analyze. This was intentionally designed as a feature so you could set up the statistics for a db, empty it, deploy it out to the end user and know that the optimizer isn't gonna go off and do something funky. [1]: https://www.sqlite.org/lang_analyze.html https://www.sqlite.org/lang_analyze.html