For an engine to query CSVs and Parquet locally, the first results are cwida/duckdb (DuckDB is an embedded, in-process analytical SQL database that natively queries CSV, Parquet, and JSON files with columnar storage and high-performance vectorized execution, exactly matching your need for an in-process analytics engine that works directly on local data files), duckdb/duckdb (DuckDB is an in-process analytical database engine with a SQL interface, columnar storage, and native support for querying local CSV, Parquet, and JSON files, making it a perfect fit for your need to quickly analyze local data files without server overhead) and apache/datafusion (Apache DataFusion is an embedded, columnar SQL query engine that runs inside your application without a separate server, supports querying CSV, Parquet, and JSON files, and provides zero-copy access via Apache Arrow—exactly what this search is asking for). pola-rs/polars and clickhouse/clickhouse round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
High-performance libraries for executing complex analytical queries directly against local data files and datasets.
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 an embedded, in-process analytical SQL database that natively queries CSV, Parquet, and JSON files with columnar storage and high-performance vectorized execution, exactly matching your need for an in-process analytics engine that works directly on local data files.
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 with a SQL interface, columnar storage, and native support for querying local CSV, Parquet, and JSON files, making it a perfect fit for your need to quickly analyze local data files without server overhead.
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 embedded, columnar SQL query engine that runs inside your application without a separate server, supports querying CSV, Parquet, and JSON files, and provides zero-copy access via Apache Arrow—exactly what this search is asking for.
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 an in-process columnar analytics engine that uses Apache Arrow for zero-copy data access and natively reads CSV, Parquet, and JSON files while offering a SQL query interface, making it an ideal embedded library for quickly querying local data files.
ClickHouse is a high-performance, columnar analytical database designed for real-time query execution and large-scale data aggregation. It functions as a distributed data warehouse capable of processing petabytes of information, while also providing an embedded engine that integrates directly into applications for native query capabilities without external dependencies. The system is built to handle high-throughput ingestion and complex analytical workloads, delivering millisecond-level latency for interactive dashboards and operational monitoring. The platform distinguishes itself through ad
ClickHouse is a high-performance columnar analytical database with an embedded engine that runs in-process, supports SQL, and can query local file formats like CSV and Parquet, making it a solid fit for an in-process analytics engine.
AlaSQL is a JavaScript SQL database engine that allows for the filtering, grouping, and joining of in-memory object arrays and JSON data. It functions as an in-memory SQL database and client-side data processor, enabling the execution of SQL statements against JavaScript arrays and external data sources in both browser and server environments. The project serves as a universal data query tool capable of performing relational joins across diverse sources, such as merging Google Spreadsheets, SQLite files, and remote APIs into a single result set. It also acts as an IndexedDB SQL wrapper, allow
AlaSQL runs in-process as a JavaScript SQL database engine and can query JSON and CSV data, which directly fits your interest in an embedded analytics engine even though it does not use columnar storage or natively support Parquet.
Velox is a high-performance C++ query execution engine and columnar data processing library. It serves as a composable framework for implementing analytical query engines, providing a vectorized expression evaluator and a toolkit for data management systems. The project is distinguished by its use of vectorized columnar execution and arena-based memory allocation to process large-scale datasets. It features specialized optimizations such as broadcast join table caching, dynamic filter push-down, and dictionary encoding to reduce memory overhead and accelerate analytical reads. The engine cov
Velox is a high-performance columnar execution engine library designed for in-process analytical query processing, supporting file formats like Parquet and JSON through connectors, making it a strong fit as an embedded analytics engine for querying local files, though it requires integration for a full SQL interface.
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
TextQL is a command-line SQL query engine for CSV and TSV files, but it runs as a standalone CLI tool rather than as an in-process embeddable library, so it doesn't match the embedded analytics engine you're looking for.
SQLite is a serverless relational database engine and C-based library that stores data in a single local disk file. It functions as an embedded SQL database, integrating directly into applications without the need for a separate server process. The engine includes specialized capabilities for full-text search indexing and spatial data querying using R-Tree structures for geographic or geometric coordinate ranges. The system provides broad support for SQL data manipulation, database recovery and repair, and change tracking for synchronizing modifications between databases. It also features a
SQLite is an embedded SQL database that runs in-process, but it is a general-purpose row-oriented relational engine, not an analytical engine with columnar storage or optimized query performance for large-scale analysis, and it lacks native support for querying CSV, Parquet, or JSON files without extensions.
TinyDB is a lightweight, document-oriented database and embedded NoSQL engine. It stores data as documents in local files, providing a persistence layer that operates without a separate server process. The system is an extensible document store featuring a middleware architecture. This allows for the customization of storage backends and the interception of data operations to transform how information is stored and retrieved. The database manages unstructured data using JSON-based serialization and supports pluggable storage backends for local file persistence.
TinyDB is an embedded document-oriented NoSQL store for JSON data, not an analytical engine—it lacks SQL query support, columnar storage, and the ability to query CSV or Parquet files.
Arrow is a cross-language development platform for in-memory data. It provides a standardized, language-independent columnar memory format designed to accelerate analytical operations and improve memory efficiency on modern computing hardware. By utilizing a schema-driven approach, the framework enables the efficient organization of both flat and nested data structures. The project functions as an analytical data processing engine that facilitates high-performance computation directly on memory-resident datasets. It distinguishes itself through a zero-copy architecture, which allows multiple
Apache Arrow provides the columnar memory format and zero-copy data access central to in-process analytics, but it is a library for building engines—not a self-contained analytics engine with an SQL query interface.
Druid is a distributed columnar store and online analytical processing database designed for real-time analytics. It functions as a SQL analytics platform and a streaming data ingestion engine, allowing for the analysis of large datasets with low latency to support interactive dashboards and high-concurrency operational workloads. The system integrates a streaming data ingestion engine that loads information via batch or streaming processes to enable immediate analysis of arriving data. It provides high-performance analytical processing to execute slice-and-dice queries on massive data volume
Druid is a clustered, server-based analytical database built for streaming and batch data ingestion, not an in-process embedded library that queries local CSV, Parquet, or JSON files from within an application.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| cwida/duckdb | 38.8K | C++ | MIT | |
| duckdb/duckdb | 38.8K | C++ | MIT | |
| apache/datafusion | 8.9K | Rust | Apache-2.0 | |
| pola-rs/polars | 38.9K | Rust | MIT | |
| clickhouse/clickhouse | 48.2K | C++ | Apache-2.0 | |
| alasql/alasql | 7.3K | JavaScript | MIT | |
| facebookincubator/velox | 4.2K | C++ | Apache-2.0 | |
| dinedal/textql | 9.1K | Go | MIT | |
| sqlite/sqlite | 9.9K | C | NOASSERTION | |
| msiemens/tinydb | 7.5K | Python | MIT |