lakeql Runs SQL on Tigzig's 37.5 Million Row MF NAV Parquet File, Straight From the Browser
Published: October 8, 2026
Erik Aronesty saw my note on Tigzig's MF NAV parquet file (37.5 million rows) and offered to try his lakeql engine on it. He has built lakeql, a lightweight JavaScript SQL engine for parquet files. lakeql fills the gap for a light JS SQL engine that runs in a browser or a Worker. It reads only the parts of a file a query needs. Great for data lakes of parquet or Iceberg files.
There is no server, database, backend or API in between.
Erik's live demo on the MF NAV data shows the bytes and requests for each query.
Live demo: https://lakeql.com/funds.html
lakeql on GitHub: https://github.com/earonesty/lakeql
NAV file: https://api.tigzig.com/mf/v1/download/amfi_nav_master.parquet
lakeql loads under 100 KB of JavaScript. That small size means it's very efficient to run inside a Cloudflare Worker....so a small API over parquet files in R2 or S3 takes a few lines of code. At the same time, data published as parquet files can be queried with SQL straight from a browser.
What about DuckDB-WASM?
That was the only way I knew so far, powerful but a much heavier load. Erik has a live tool on the site for lakeql vs DuckDB-WASM (browser to R2) .. running moving averages, ranks and interval ranges. My sense - it all depends on what you are trying to do ...
https://lakeql.com/compare.html
One important thing to keep in mind - lakeql can hit any parquet but the performance considerations are on the file side - how the parquet is sorted and grouped decides how much of each file a query has to read... impacting latencies and performance.
A few notes on the MF NAV file
A few notes on the file for anyone trying this on the MF NAV file.
It has five columns: scheme_code, date, nav, scheme_name and isin and is sorted by scheme code.
To find a fund's code by name, the small scheme details file is the quick route: https://api.tigzig.com/mf/v1/download/scheme_details_latest.parquet
Range requests work on all our parquet files, and browsers can read the range headers.
Every dataset we publish is listed at https://api.tigzig.com/downloads

Working on something similar? How I work covers the rates, the availability and what I take on.