For data engineering in rust, the strongest matches are apache/datafusion (Apache DataFusion is an extensible, columnar SQL query engine), pola-rs/polars (Polars is a high-performance columnar data processing library implemented) and risingwavelabs/risingwave (RisingWave is a cloud-native streaming database implemented in Rust). eventual-inc/daft and materializeinc/materialize round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Hand-picked open-source Rust data engineering tools for pipelines and processing, ranked by GitHub stars. Compare and pick the right one.
Apache DataFusion is an extensible, columnar SQL query engine that runs embedded within a host application without requiring a separate server process. It processes data in columnar batches using Apache Arrow for memory-efficient analytics, and can scale analytic workloads across multiple nodes for parallel execution. The engine supports both SQL and DataFrame queries through a modular, streaming architecture that allows custom operators, data sources, functions, and optimizer rules. The engine distinguishes itself through its modular extension framework, which enables building custom query e
Apache DataFusion is an extensible, columnar SQL query engine and data processing framework written in Rust that leverages Apache Arrow for high-performance memory-efficient analytics and distributed execution.
Polars is a high-performance columnar data processing library designed for efficient analytical workflows. It functions as a structured data library that organizes information into typed columns, utilizing the Apache Arrow memory format to enable zero-copy data sharing and cache-friendly, vectorized operations. The engine is built to handle large-scale tabular datasets, providing both local and distributed analytical runtimes that scale from single-machine environments to multi-node clusters. The project distinguishes itself through a sophisticated lazy query engine that constructs abstract e
Polars is a high-performance columnar data processing library implemented in Rust with Apache Arrow support, a lazy query engine, and distributed analytical runtimes that directly match the requested data engineering capabilities.
RisingWave is a cloud-native streaming database and real-time analytics engine that uses standard SQL to process continuous data streams. It functions as a streaming data lakehouse, combining the capabilities of a streaming SQL database with a platform that integrates streaming ingestion with open table formats. The system is distinguished by its use of the PostgreSQL wire protocol, allowing it to integrate with existing SQL tools and drivers. It employs a decoupled compute and storage architecture, persisting streaming state and materialized views in cloud object storage to enable independen
RisingWave is a cloud-native streaming database implemented in Rust that provides real-time analytics, stream processing, and SQL query capabilities, matching the requirements for high-performance data processing.
Daft is a distributed dataframe library and multimodal data processor designed to handle large-scale structured and unstructured data. It functions as a vectorized execution engine that processes tables alongside images, audio, and video, utilizing a unified schema to manage diverse data types. The project distinguishes itself by combining distributed data engineering with large-scale AI inference. It provides an AI data pipeline for batch-optimizing model prompts and generating high-dimensional text embeddings, while utilizing zero-copy memory sharing to execute custom Python functions witho
Daft is a distributed dataframe and multimodal data processing library implemented in Rust with Python bindings, offering pipeline execution and Arrow support as requested by this search.
Materialize is a streaming SQL database that continuously ingests live data from sources such as Kafka, Redpanda, PostgreSQL, and MySQL, and incrementally maintains materialized views. It provides a PostgreSQL-compatible query engine that accepts standard SQL over the PostgreSQL wire protocol, enabling any existing SQL client or BI tool to query real-time data. The system also includes a Model Context Protocol (MCP) server that exposes live materialized view data to AI agents, providing fresh context without polling. Materialize distinguishes itself through its ability to offer configurable c
Materialize is a streaming SQL database implemented in Rust that provides a PostgreSQL-compatible query engine for real-time data processing, though it focuses more on continuous incremental views rather than a general-purpose pipeline library.
Apache DataFusion Ballista Distributed Query Engine
Apache DataFusion Ballista provides a distributed query engine built on top of the Apache Arrow ecosystem, fitting the requirement for a performance-oriented distributed computing framework in Rust.
TextQL is a command line SQL query engine designed to execute relational queries directly against structured text files, such as CSV and TSV, without requiring a database import. It functions as a relational text file analyzer and a CSV processor that treats plain text files as virtual tables for filtering, joining, and aggregating data. The tool is built as a pipe-compatible data transformation utility, allowing it to process data from standard input and output formatted datasets. It enables relational joins across multiple files or directories within a single query to analyze relationships
This command-line SQL query engine for text files addresses data querying, but it is written in Go and functions as an ad-hoc file analyzer rather than a Rust-based data engineering and processing framework.
DuckDB is an embedded, in-process analytical SQL database and OLAP database management system. It functions as a data engine for Parquet and CSV files, allowing users to execute complex SQL queries on large datasets without requiring a separate server process. The system is designed for local analytical processing and embedded data science workflows. It enables the direct querying and analysis of Parquet and CSV files from disk, bypassing the need to load data into a permanent database. The engine provides high-performance analytical SQL execution, including support for window functions and
DuckDB is a powerful in-process analytical SQL database written in C++ rather than Rust, making it a neighbouring data engine rather than a native Rust framework.
DuckDB is an in-process analytical database engine designed to run directly within an application process. As a zero-dependency, embedded system, it provides enterprise-grade SQL data processing capabilities without the overhead of managing a dedicated database server. It is built to handle complex analytical and aggregation tasks by storing and retrieving information in columns, allowing for high-performance relational data manipulation. The engine distinguishes itself through a columnar vectorized execution model that maximizes CPU cache efficiency during query operations. It employs adapti
DuckDB is an in-process analytical database engine written in C++ rather than Rust, making it a high-performance embedded OLAP tool but not a native Rust data engineering framework.
Vaex is a high-performance Apache Arrow DataFrame library and out-of-core data processing engine designed to handle billion-row tabular datasets in Python. It functions as a lazy evaluation framework that defers computations and transformations until results are required, enabling the processing of datasets that exceed available system RAM by mapping files directly from disk. The project distinguishes itself as a tool for big data visualization and exploration, specifically integrated for use within interactive notebooks. It provides specialized capabilities for machine learning feature engin
Vaex is a Python-based DataFrame library and out-of-core data processing engine rather than a framework implemented in the Rust programming language, making it the wrong ecosystem for this search.
Cockroach is a distributed SQL database designed to scale horizontally across multiple nodes while maintaining strict ACID compliance and global data consistency. It functions as a relational database engine that automatically partitions data into ranges, rebalancing them across a cluster to accommodate growing storage and throughput requirements. By utilizing a distributed consensus protocol, the system ensures that all nodes agree on the order of operations, providing fault tolerance and continuous availability even in the event of hardware failures. The system distinguishes itself through
CockroachDB is a distributed SQL database written in Go rather than a data processing, pipelining, and analytics framework implemented in Rust.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| apache/datafusion | 8.9K | Rust | Apache-2.0 | |
| pola-rs/polars | 38.9K | Rust | MIT | |
| risingwavelabs/risingwave | 9.1K | Rust | Apache-2.0 | |
| eventual-inc/daft | 5.2K | Rust | apache-2.0 | |
| materializeinc/materialize | 6.3K | Rust | NOASSERTION | |
| apache/arrow-ballista | 2.1K | Rust | Apache-2.0 | |
| dinedal/textql | 9.1K | Go | MIT | |
| cwida/duckdb | 38.8K | C++ | MIT | |
| duckdb/duckdb | 38.8K | C++ | MIT | |
| vaexio/vaex | 8.5K | Python | MIT |