If it's going to be read-only, why not make it a Parquet file instead? It should result in a smaller file size due to columnar compression.
DuckDB has built-in capability to read Parquet files with HTTP range requests.
DuckDB has built-in capability to read Parquet files with HTTP range requests.