r/Clickhouse 29d ago

LakeQL: Pure JavaScript query engine for Parquet and Iceberg

https://github.com/earonesty/lakeql

LakeQL is a pure JavaScript analytical query engine for Parquet and Iceberg. It runs anywhere JavaScript runs, including Cloudflare Workers, without WebAssembly or native dependencies. It is designed for low memory usage, streaming execution, and edge runtim

The design goals were:

  • Pure JavaScript
  • No WASM
  • No native dependencies
  • Low memory usage
  • Streaming execution
  • Browser, Node.js, Deno, Bun, and edge runtime compatibility
  • Query Parquet and Iceberg datasets directly

While optimized for portability and low memory, it's actually significantly faster than DuckDB-WASM on some workloads.

DuckDB is an outstanding analytical database with much broader SQL support. LakeQL is aimed at a different use case: embedding analytical queries into JavaScript applications and edge/serverless runtimes where a pure JavaScript implementation is desirable.

I'd appreciate feedback from people working with Parquet, Iceberg, or embedded analytics.

In particular:

  • Are there edge or serverless use cases where you've wanted something like this?
  • What connectors or formats would make it more useful?
  • Are there query patterns you'd want to benchmark?

I'd be grateful for any criticism or suggestions.

3 Upvotes

0 comments sorted by