Remix.run Logo
tormeh a day ago

Seems like a good time to recommend Apache Datafusion. It's designed to be a library, but works pretty well standalone as well. There's a CLI version, but also Python and Java bindings, as well as a Rust library, of course.

From my own experience I can say it integrates far better into your Rust app than DuckDB does.

Well over 100 monthly contributors, too.

hobofan a day ago | parent | next [-]

Datafusion has all of the individual pieces, especially if you just want to data analysis, but is far from an embedded database.

Indexes, transactions, a first-class storage format are all things that come included with DuckDB, that you won't have with Datafusion.

andriy_koval a day ago | parent [-]

indexes are very weak in duckdb, need to fit memory.

1egg0myegg0 a day ago | parent [-]

This fall, DuckDB will support larger than memory indexes! I'm really excited about it. https://duckdb.org/2026/08/17/duckdb-20-highlights#7-storage...

andriy_koval a day ago | parent [-]

they don't say "this fall", they say later this year, I think it is some parallel effort, and it is actually going for few years already (rewriting index logic to have them in mmapped buffers and not in memory), finger crossed they will finish it finally.

tobilg a day ago | parent | prev | next [-]

You can even use DuckLake with Datafusion: https://github.com/tobilg/datafusion-ducklake-provider

cbility a day ago | parent [-]

https://github.com/datafusion-contrib/datafusion-ducklake is more established, and linked to directly from the ducklake docs

dtnm a day ago | parent | prev | next [-]

It's juts not as user friendly as DuckDB.

asa400 a day ago | parent | prev | next [-]

Is Datafusion related to Polars at all? I ask because you mentioned Rust integration.

hocuspocus a day ago | parent [-]

No, it's a competing ecosystem, even though both are built on Apache Arrow, and their dataframe APIs might look similar on the surface.

DataFusion is being used as a building block for a growing number of databases and data processing engines in Rust, as it offers the necessary primitives.

asa400 a day ago | parent [-]

Awesome, thank you for the detail.

colinmarc a day ago | parent | prev [-]

Came here to post the same thing. DataFusion is fantastic.