PREVIEWNew: MCP, JSON & database connectors

All your data.
One SQL engine.

Bring PostgreSQL and Parquet together.
Query with familiar SQL. Cache results in Arrow.
Built in Rust, for a more connected view.

Open source & MIT licensed/Experimental, by design
LESS FRAGMENTATION. MORE POSSIBILITIES.Meet your query engine

Good foundations.
Open standards.

Rust
Apache DataFusion
Apache Arrow
PostgreSQL
Parquet

+ SMALL ENGINE. SHARED CONTEXT.

Data lives in different places.
Your questions shouldn’t have to.

Igloo brings live databases and local files into one
query engine, with a result cache close at hand.

01 CONNECT

Your sources, one query.

Join multiple PostgreSQL databases and local Parquet datasets. The source preview adds ADBC drivers and named Parquet tables with inferred schemas.

Explore federation
02 REUSE

Keep the work you’ve done.

Cache Arrow record batches in memory with LRU eviction and TTL. New JSON change events clear the cache for the next query.

Understand the cache
03 QUERY

Familiar tools, new context.

A PostgreSQL wire endpoint for simple and prepared queries. The source preview adds MCP and a JSON CLI for agents to discover tables, inspect plans, and run read-only queries.

Connect a SQL client

+ THE QUERY EXPERIENCE

Different sources.
Same familiar SQL.

Follow a query from your sources to the cache.
No new language to learn.

federated_query.sql
-- Query two independent PostgreSQL sources
SELECT o.id, c.email, o.total
FROM orders_db.public.orders AS o
JOIN crm.public.contacts AS c
  ON o.contact_id = c.id
WHERE o.total > 100
ORDER BY o.total DESC;
PostgreSQL dialect
Result previewSAMPLE DATA
Illustrative Join across sources results
idemailtotal
1042alex@example.com249.00
1038sam@example.com185.50
1031jules@example.com129.00

Ready when you are.Run this sample to follow the cache lifecycle.

3 illustrative rows
Interactive illustration · runs in your browser, without an Igloo serverActual query examples. Illustrative results.

One SQL statement. Two PostgreSQL databases. A single result, assembled by DataFusion.

+ UNDER THE HOOD

One process.
Thoughtfully connected.

Small, understandable building blocks. Apache DataFusion plans the query; Apache Arrow carries the data.

Take the architecture tour
01

Connect your sources

Define PostgreSQL catalogs in TOML. Tables are discovered automatically, alongside a local Parquet-backed table.

02

Plan, push down, execute

DataFusion plans SQL and combines sources. Supported filters run closer to PostgreSQL; joins and remaining work run in the engine.

03

Cache results, respond to change

Reuse Arrow batches for eligible queries. The background listener polls for JSON events and invalidates the cache.

+ FROM SOURCE TO SQL

Give your curiosity
a query engine.

Start with the self-contained market analytics demo.
No database setup. Just Rust and a little curiosity.

Read the full quickstart Requires Rust 1.88+ · first build compiles DataFusion
Your terminal
git clone https://github.com/igloodb/igloodb.git
cd igloodb
cargo run --locked -- crypto-demo

+ BUILT IN THE OPEN

A clear view of
where we are. And what’s next.

Igloo is early, experimental, and open to contribution.
Help shape the engine one useful piece at a time.

IN THE ENGINE TODAY

A working foundation.

  • Single-node SQL federation
  • Arrow-native LRU + TTL cache
  • PostgreSQL wire protocol
  • File-based CDC invalidation
  • MCP + JSON CLI (source preview)
  • ADBC + named Parquet (source preview)
ON THE ROADMAP

A bigger horizon.

Real CDC streams. Dependency-aware caching. Iceberg tables. More tested database drivers. Distributed execution.

See the project roadmap

Good software
starts with a conversation.

Read the code, open an issue,
or make your first contribution.

Build with us

Bring your data together.

Start small. Query something interesting.

Get started with Igloo