Back when I was working with shapefiles, it was the type of things that tended to be far more convenient to process in-process using something like GDAL [1] (which can operate directly on an in memory copy, gzip files, sqlite databases and far more) and query it with GDAL's SQL support, especially when build with Spatialite [2] rather than loading it into a separate database. It'd have been interesting if the author had talked about what's stopping him from that approach given he's clearly aware of GDAL and given that 130M records and a few tens of GB isn't a particularly big GIS dataset.<p>[1] <a href="https://gdal.org" rel="nofollow">https://gdal.org</a><p>[2] <a href="https://www.gaia-gis.it/fossil/libspatialite/index" rel="nofollow">https://www.gaia-gis.it/fossil/libspatialite/index</a>