You could certainly amortize this cost for repeated queries, but for one-off queries I haven't seen anything faster.
[1]: https://wiki.openstreetmap.org/wiki/Osm2pgsql/benchmarks
You could certainly amortize this cost for repeated queries, but for one-off queries I haven't seen anything faster.
[1]: https://wiki.openstreetmap.org/wiki/Osm2pgsql/benchmarks
I spend a lot of time optimizing stuff developers thought was "high performance" and they're scanning a 100gb+ dataset on every page load.
But calling 30s high performance for quantifying 60k unique values like in this case is misleading at best. I try not to mislead people. :)
Processing the data with code and SQLite takes about 4 hours for the United States and Canada. If I can figure out how to parallelize some of the work, it could be faster.
The benefit of using SQLite is its low memory footprint. I can have this 40GB file (the uncompressed version) and use a 256MB container instance. It shows how valuable SQLite is in terms of resources. It takes up disk space, but I followed up with the zstd compression (from the post).
Was this more work and should've I have used Postgres and osm2pql, yes. Was it fun, well yeah, because I have another feature, which I have not written about yet, which I highly value.