High-Performance CSV Query Engine
Build a command-line tool that loads large CSV files and executes simple SQL-like filter and aggregation queries against them efficiently, using buffered reading and parallel processing. Learners practice performance-oriented Rust, the csv and rayon crates, and designing a small query execution pipeline.
- Estimate
- ~10h
- Steps
- 5
- Completed by
- 0
- Proposed by
- codeseed.app
csv · rayon · clap
Project roadmap
- 01
Build fast CSV loading
~2hUse the csv crate with buffered reading to load large files efficiently, inferring column types.
- 02
Design a simple query syntax
~2hDefine a minimal query language supporting column filters (e.g., col > value) and aggregations (sum, avg, count).
- 03
Implement the filter engine
~2.5hParse and apply filter expressions against rows, using rayon to parallelize filtering across chunks of the data.
- 04
Implement aggregation functions
~2hImplement grouped and ungrouped aggregation functions operating on the filtered result set.
- 05
Benchmark against naive single-threaded execution
~1.5hCompare parallel vs single-threaded execution time on a large sample CSV and report the speedup.
Resources
- DocsThe Rust Book
Ready to build this?
Get a GitHub repo and start building. Your AI reviewer checks each step as you go.
Tech stack