For a shared in-memory columnar format, the first results are apache/arrow (Apache Arrow is the canonical open‑source columnar in‑memory format that provides a standardized, language‑agnostic columnar layout with zero‑copy sharing and wide multi‑language support, exactly matching the need for efficient data interchange across tools and languages), wesm/feather (Feather is a columnar binary data format built on Apache Arrow, purpose-built for fast, zero-copy data interchange between Python, R, and other languages, exactly matching the need for an efficient, open-source columnar in-memory format for cross-language sharing) and capnproto/capnproto. apache/fory and gogo/protobuf round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
High-performance open-source libraries and specifications for sharing structured data across analytical processing tools and systems.
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 is the canonical open‑source columnar in‑memory format that provides a standardized, language‑agnostic columnar layout with zero‑copy sharing and wide multi‑language support, exactly matching the need for efficient data interchange across tools and languages.
Feather: fast, interoperable binary data frame storage for Python, R, and more powered by Apache Arrow
Feather is a columnar binary data format built on Apache Arrow, purpose-built for fast, zero-copy data interchange between Python, R, and other languages, exactly matching the need for an efficient, open-source columnar in-memory format for cross-language sharing.
CapnProto is a zero-copy serialization framework and remote procedure call system. It serves as a C++ communication library providing a schema-based data interchange format that eliminates the need to encode or decode data before reading it from memory. The system enables high-performance data serialization and low-latency network communication. It supports cross-language data exchange by using a defined schema to ensure consistent binary representation across different platforms. The framework provides tools for implementing remote procedure calls, allowing functions to be invoked on a remo
Cap'n Proto is a high-performance zero-copy serialization and RPC framework designed for cross-language data interchange, but it uses a row-oriented schema format rather than a columnar storage layout, so it does not match the specific columnar in-memory data format this search targets.
Fory is a cross-language serialization framework and binary data serializer designed to convert complex object graphs into a compact binary format for high-performance data exchange. It includes an IDL-based schema compiler to transform interface definition language files into type-safe native data models and a schema evolution manager to maintain forward and backward compatibility. The project features a zero-copy data access layer that allows reading specific fields from binary rows without deserializing the entire object. It supports dual-mode serialization, enabling a toggle between a por
Fory is a cross-language binary serialization framework with zero-copy access and multi-language support, but it is not a columnar in-memory data format — it serializes object graphs rather than organizing data column-wise for analytics, so it falls short of the core requirement.
This project is a Protocol Buffers Go compiler and code generation framework that translates schema definitions into optimized Go structures and reflection-free serialization methods. It includes a gRPC service generator for producing client and server communication code and a serialization performance toolkit for generating automated benchmarks and test suites. The framework features a plugin-based system for transforming data definitions into source code with custom field mapping and struct tag injection. It allows for custom type mapping and struct type overriding to link data fields to sp
This is a Protocol Buffers serialization tool for Go, which handles data interchange across languages but uses a row-oriented message format rather than a columnar storage layout — not the columnar in-memory format you’re looking for.
MessagePack-CSharp is a high-performance binary serialization library for .NET applications that converts object graphs into the MessagePack format. It functions as a C# data serialization toolkit and a polymorphic binary encoder capable of handling abstract classes and interfaces using union keys to identify concrete derived types. The library provides a binary format transcoder to transform binary data into human-readable JSON for debugging. It supports ahead-of-time formatter generation to avoid runtime overhead and implements LZ4 binary compression to reduce the size of serialized data.
MessagePack-CSharp is a binary serialization library for .NET, not a columnar in-memory data format with zero-copy sharing and columnar layout—it handles general object serialization rather than the specific columnar interchange format you're after.
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 analytical SQL database with columnar storage, but it is a database engine rather than a standalone columnar data format for interchange across tools and languages.
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 a columnar analytical database engine, not a self-contained data format—it processes data but isn’t designed as a zero-copy interchange format between tools and languages like the intended columnar in-memory data format.
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 distributed columnar database and real-time analytics engine, not a dedicated in-memory data format for cross-language interchange — it stores and queries data internally rather than providing a portable, zero-copy serialization format for sharing between tools.
Perspective is a columnar data analytics engine and high-performance visualization component powered by WebAssembly. It provides a system for analyzing and visualizing large or streaming datasets through interactive data grids and charts, utilizing a compiled binary to achieve near-native performance within the browser. The project distinguishes itself through a WebSocket-based data streaming interface and deep Apache Arrow integration, which minimize memory overhead when synchronizing tables between servers and clients. It acts as a remote query proxy capable of translating visualization con
Perspective is a columnar analytics engine and visualization component that heavily leverages Apache Arrow, but it is not itself a data format for interchange — it is a tool that consumes and uses the format rather than being the format itself.
Perspective is a columnar data analytics library and streaming data visualization engine. It provides an interactive data grid component and notebook analytics widgets designed for processing high-volume data and rendering interactive charts and grids. The system utilizes a high-performance query engine to enable real-time data analysis and streaming dataset visualization. It supports the creation of customizable dashboards and reports that update automatically as new data arrives without requiring full dataset reloads. The project covers large-scale dataset analytics through a schema-driven
Perspective is a columnar analytics and visualization engine, not a data format designed for efficient sharing and interchange between tools; it uses columnar storage internally but does not provide a portable, zero-copy data interchange format itself.
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 columnar analytical database, not a data format designed for efficient sharing and interchange; it stores and queries data rather than providing a zero-copy, multi-language serialization format like Apache Arrow.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| apache/arrow | 16.5K | C++ | apache-2.0 | |
| wesm/feather | 2.8K | JavaScript | Apache-2.0 | |
| capnproto/capnproto |
| 13.1K |
| C++ |
| NOASSERTION |
| apache/fory | 4.2K | Java | apache-2.0 |
| gogo/protobuf | 5.7K | Go | NOASSERTION |
| neuecc/messagepack-csharp | 6.7K | C# | NOASSERTION |
| cwida/duckdb | 38.8K | C++ | MIT |
| duckdb/duckdb | 38.8K | C++ | MIT |
| druid-io/druid | 14K | Java | Apache-2.0 |
| perspective-dev/perspective | 11K | C++ | Apache-2.0 |