Serialization and RPC generated for fifteen languages at once
Serialization Formats
Apache Thrift is a cross-language services framework: an interface definition language and code generator that emit both the serialization code and the RPC client and server for more than a dozen languages, with pluggable protocols and transports underneath.
The wire format is the in-memory format — no decoding step
Serialization Formats
Cap'n Proto is an MIT-licensed binary interchange format and capability-based RPC system from the author of Protocol Buffers version 2, designed so that the encoded bytes are directly usable in memory — there is no parse step between receiving a message and reading a field.
Read fields straight out of the buffer, with no heap at all
Serialization Formats
FlatBuffers is Google's Apache-2.0 cross-platform serialization library, built for performance-critical code: data is accessed directly in the serialized buffer without unpacking, the only memory needed is the buffer itself, and schemas evolve with forwards and backwards compatibility.
The contract layer for the encoding everything already speaks
Serialization Formats
JSON Schema is the vocabulary for describing, validating, and documenting JSON data — the third schema type every major schema registry supports alongside Avro and Protocol Buffers, and the one that requires no new encoding on the wire.
The columnar format the Hive world standardised on
File Formats
Apache ORC is a columnar file format built for the Hadoop and Hive ecosystem: per-column min/max statistics and bloom filters for skipping data, support for ACID transactions and snapshot isolation, and native handling of Hive's compound types.
A columnar format built for random access, not just scans
File Formats
Vortex is an extensible columnar file format written in Rust and incubating at the Linux Foundation, claiming order-of-magnitude gains over Parquet on random access and scans at comparable compression, with an encoding system designed to be extended rather than frozen into the specification.
A columnar format for tables thousands of columns wide
File Formats
Nimble is Meta's Apache-2.0 columnar file format, built as a replacement for Parquet and ORC on workloads with thousands of columns: FlatBuffers metadata, block rather than stream encoding, and an encoding layer decoupled from the file layout so new schemes can be added and composed.
One catalog for tables, files, functions, and models
Table Catalogs
Unity Catalog is an Apache-2.0 catalog hosted by the LF AI & Data Foundation that governs Delta, Iceberg, and Hudi tables alongside files, functions, and AI models, speaking both the Hive metastore API and the Iceberg REST catalog API.
Branches, tags, and cross-table commits for the data lake
Table Catalogs
Project Nessie is an Apache-2.0 transactional catalog for data lakes with git-like semantics: Iceberg tables and views are versioned on branches and tags, changes across multiple tables commit atomically, and engines connect through the Iceberg REST protocol.
An Iceberg REST catalog in Rust, with authorization built in
Table Catalogs
Lakekeeper is an Apache-2.0 Apache Iceberg REST catalog written in Rust: a single binary with multi-tenant warehouses created at runtime, fine-grained authorization through OpenFGA or Cedar, vended credentials for S3, ADLS and GCS, and change events emitted to Kafka or NATS.
One registry for event schemas and API contracts alike
Schema Registries
Apicurio Registry is an Apache-2.0 registry that stores schemas and API definitions together — Avro, Protobuf, JSON Schema, OpenAPI, AsyncAPI, GraphQL, WSDL and XSD — behind a REST API, with a Confluent-compatible endpoint so existing Kafka clients work unchanged.
Elementary is an Apache-2.0 data observability tool built for dbt projects: a dbt package and CLI collect test results and run anomaly detection on freshness, volume, and custom metrics, with Elementary Cloud adding column-level lineage, ML monitors, and incident workflows.
Unit tests for data, computed inside the Spark job
Data Quality
Deequ is an Apache-2.0 library from AWS Labs for defining "unit tests for data" on Apache Spark: constraints and metrics are computed as part of the Spark job itself, which makes quality checks scale with the data rather than sampling it.
Schema validation for dataframes, in the code that builds them
Data Quality
pandera is an MIT-licensed Python library for validating dataframes: schemas are declared as objects or as typed classes and checked at runtime across pandas, polars, pyspark, dask, modin, ibis, and geopandas.
The metadata and governance layer the Hadoop stack was built around
Data Catalogs
Apache Atlas is an Apache Software Foundation project providing metadata management, classification, and lineage for the Hadoop ecosystem, with an extensible type system and an authorization path through Apache Ranger.
One metadata layer over the catalogs you already run
Data Catalogs
Apache Gravitino is a federated metadata lake: rather than copying metadata into its own store, it manages metadata in place across Hive, JDBC databases, object storage, and message systems, exposing one model and one API for data and AI assets across regions and clouds.
Declarative orchestration in YAML, whatever language the work is written in
Workflow Orchestration
Kestra is an open-source orchestration platform whose workflows are declared in YAML rather than written in a programming language: an event-driven, language-agnostic engine with a large plugin catalogue, a JVM runtime backed by Postgres or MySQL, and Enterprise and Cloud editions above the Apache-2.0 core.
Container-native workflows that are Kubernetes objects
Workflow Orchestration
Argo Workflows is a CNCF-graduated workflow engine implemented as a Kubernetes custom resource: each step of a DAG runs in its own container, workflows are declared in YAML and submitted to the cluster, and the scheduler is the Kubernetes control plane rather than a separate application.
Durable execution: code that survives the process it runs in
Workflow Orchestration
Temporal is an MIT-licensed durable execution platform: workflows are ordinary code in one of eight SDK languages, and the service persists every step so a function can keep running across crashes, restarts, and deploys for minutes or for months.
Typed, versioned pipelines that run as Kubernetes workloads
Workflow Orchestration
Flyte is an LF AI & Data project for building production data and ML pipelines: tasks and workflows are Python functions with strongly typed interfaces, each execution is versioned and cacheable, and the whole thing runs on Kubernetes with a Go control plane underneath.
Visual DAG scheduling with no single point of failure
Workflow Orchestration
Apache DolphinScheduler is a distributed workflow orchestration platform with a drag-and-drop DAG editor, a decentralised multi-master and multi-worker architecture built for high availability, and built-in task types for the tools a data platform already runs.
Scripts in ten languages, composed into flows by a Rust engine
Workflow Orchestration
Windmill is an open-source workflow engine and developer platform written in Rust: individual scripts in TypeScript, Python, Go, SQL, Bash and more become reusable runnables, which compose into flows through a low-code builder or YAML, and into internal apps on top.
Dependency resolution for batch jobs, and nothing more
Workflow Orchestration
Luigi is Spotify's Python library for building pipelines of batch jobs: tasks declare what they require and what they produce, a central scheduler resolves the graph and prevents duplicate work, and triggering is left to cron.
Lightdash is an open-source BI platform that builds its semantic layer directly from a dbt project — dimensions and metrics are declared in the dbt YAML an analytics team already maintains, and every chart and dashboard is generated from those definitions.
Reports written in markdown and SQL, published as a static site
Business Intelligence
Evidence is an MIT-licensed framework that builds business intelligence from plain files: SQL queries and charts are written inside markdown, and the project compiles to a static website that can be deployed anywhere a static site can.
Dashboards that run at OLAP speed, defined in files
Business Intelligence
Rill is an Apache-2.0 BI tool distributed as a single Go binary: metrics and dashboards are defined in SQL and YAML in a local project, served by an embedded DuckDB or a connected ClickHouse, and deployed to Rill Cloud when they are ready to share.
Query, visualise, share — self-hosted and free, with no vendor above it
Business Intelligence
Redash is a BSD-licensed query-and-dashboard tool: analysts write SQL against any connected source, turn results into visualisations, assemble them into dashboards, and share them — running entirely on the team's own infrastructure, with no commercial edition to upgrade to.
Transformation framework with virtual environments and no wasted rebuilds
Transformation
SQLMesh is a data transformation framework from Tobiko Data that runs SQL and Python models with a plan-and-apply workflow, column-level lineage, unit tests, and virtual data environments that let teams preview changes without rebuilding tables.
SQL transformation workflows for BigQuery, free as a service
Transformation
Dataform is a service for developing, testing, version-controlling, and scheduling SQL transformation workflows in BigQuery, built on an Apache-2.0 meta-language and offered on Google Cloud at no charge beyond the BigQuery it runs.
One CLI for ingestion, SQL and Python models, and quality checks
Transformation
Bruin is an open-source data pipeline tool written in Go that combines ingestion, SQL and Python transformations, automated quality checks, and column-level lineage in a single CLI, with a managed cloud layer above it.
Distributed SQL engine, and the project Trino forked from
Query Engines
Presto is a distributed SQL query engine for federated analytics, governed by the Presto Foundation under the Linux Foundation, whose members include Meta, IBM, Uber, and Nvidia — the original codebase that PrestoSQL forked from before renaming itself Trino.
Arrow-native query engine you embed rather than deploy
Query Engines
Apache DataFusion is an extensible query engine written in Rust that uses Apache Arrow as its in-memory format, shipped as libraries for building database and analytic systems rather than as a server to run.
Single-node DataFrame engine in Rust, fast enough to skip the cluster
Query Engines
Polars is a DataFrame library written in Rust with a Python interface, built around a query optimiser and Arrow memory rather than row-by-row execution, and designed as a single-node engine that handles data most teams would otherwise put on a cluster.
Lakehouse query engine with a semantic layer and query acceleration
Query Engines
Dremio is a SQL engine for the lakehouse that federates queries across Iceberg, Delta Lake, databases, and warehouses, and accelerates them with materialised structures it calls Reflections — available as a free Community edition, a self-managed Enterprise edition, and a managed cloud service.
SQL over Hadoop, still shipping and now Iceberg-native
Query Engines
Apache Hive is a distributed, fault-tolerant data warehouse system that enables analytics at massive scale, running SQL over data in the Hadoop ecosystem on Apache Tez, with LLAP for sub-second queries and first-class Apache Iceberg support in the 4.x line.
Distributed execution for Python, from laptop to cluster
Batch Compute
Ray is an open-source framework for scaling Python and AI workloads, pairing a general-purpose distributed execution core with libraries for data, training, tuning, serving, and reinforcement learning.
Parallel pandas and NumPy, from one machine to a cluster
Batch Compute
Dask is a Python library for parallel and distributed computing that provides pandas-compatible DataFrames and NumPy-compatible Arrays over datasets larger than memory, running locally or across a cluster.
Daft is a Rust-based data engine with a Python interface, processing images, audio, video, embeddings, and structured data through one API, and scaling from a laptop to a cluster without code changes.
The original distributed batch stack — HDFS, YARN, MapReduce
Batch Compute
Apache Hadoop is the distributed storage and batch processing framework that started the category, comprising HDFS for storage, YARN for resource management and scheduling, and MapReduce as its batch execution engine.
Streaming database keeping materialized views always current
Stream Processing
RisingWave is a PostgreSQL-compatible streaming database that maintains materialized views incrementally rather than recomputing them, storing state and tables in object storage so compute and storage scale separately.
Portable pipeline model that runs on Flink, Spark, or Dataflow
Stream Processing
Apache Beam is a unified programming model for batch and streaming pipelines, written once in Java, Python, or Go and executed by a runner — Flink, Spark, Dataflow, or others — rather than by an engine of its own.
Rust stream processing engine driven entirely by SQL
Stream Processing
Arroyo is a distributed stream processing engine written in Rust that defines pipelines in SQL, performing stateful computation over bounded and unbounded sources with event-time processing and watermarks.
Streaming platform separating serving from storage tiers
Event Streaming
Apache Pulsar is an open-source messaging and streaming platform that splits brokers from storage, keeping segments in Apache BookKeeper so capacity and serving scale independently, with multi-tenancy and geo-replication built in.
Single-binary messaging with optional JetStream persistence
Event Streaming
NATS is a messaging system distributed as one small Go binary, offering at-most-once core messaging with JetStream adding a persistence layer for at-least-once delivery, replay, and server-side consumer state.
Kafka with its storage layer rebuilt on object storage
Event Streaming
AutoMQ keeps Apache Kafka's compute layer and replaces its storage with cloud object storage, claiming 100% Kafka API compatibility and substantially lower cost by removing multi-replica local disks and cross-zone transfer.
Message broker with flexible routing and append-only streams
Event Streaming
RabbitMQ is a widely deployed open-source message broker built on Erlang/OTP, combining rich queue-based routing with a Streams feature that adds append-only, replayable logs alongside traditional queues.
Postgres-specialised CDC, and the engine behind ClickPipes
Change Data Capture
PeerDB is an open-source change data capture engine built specifically for PostgreSQL sources, acquired by ClickHouse in 2024 and kept as a distinct component powering the managed Postgres CDC in ClickPipes.
Postgres changes to queues and streams, exactly once
Change Data Capture
Sequin is an open-source CDC tool that streams PostgreSQL changes to queues, streaming platforms, and webhooks with strict ordering and exactly-once processing, shipped as a Docker image rather than a Postgres extension.
MySQL binlog to JSON change events on Kafka or Kinesis
Change Data Capture
Maxwell's Daemon reads the MySQL binary log and writes row-level changes as JSON to Kafka, Kinesis, and other streaming platforms — a single-purpose CDC process with no framework around it.
Python library that loads messy sources into typed datasets
Batch ELT
dlt is an open-source Python library for the extract-and-load stage, inferring schemas, normalising nested data, and handling incremental loading — installed with pip and run wherever Python already runs.
Declarative ELT over the Singer connector ecosystem
Batch ELT
Meltano is an open-source ELT orchestrator that assembles pipelines from Singer taps and targets declaratively in version-controlled YAML, with a hub cataloguing over 600 community-maintained connectors.
Single-binary CLI for moving data between databases and files
Batch ELT
Sling is a data movement tool distributed as one Go binary, moving data between databases, warehouses, and file storage from the command line or a pipe, with a managed platform available above it.
Transactional lake format built around upserts and incremental reads
Table Formats
Apache Hudi is an open lakehouse format that pioneered transactional data lakes, offering record-level upserts and deletes, incremental queries, and a choice between copy-on-write and merge-on-read table types.
Lake format with LSM-backed streaming updates and changelogs
Table Formats
Apache Paimon is a lake format unifying batch and streaming, using an LSM tree to absorb high-frequency updates and emitting changelogs so downstream jobs can consume what changed rather than rescanning.
Lakehouse format keeping all metadata in a SQL database
Table Formats
DuckLake is an integrated data lake and catalog format from the DuckDB Foundation that stores table metadata in an ACID SQL database rather than in files, with data in Parquet on object storage.
Lakehouse format for multimodal AI with fast random access
Table Formats
Lance is an open lakehouse format for multimodal AI data, claiming 100x faster random access than Parquet, with vector and full-text indexes in the format specification and versioning built in.
Real-time analytics database for fast slice-and-dice queries
OLAP Engines
Apache Druid is a real-time analytics database combining ideas from data warehouses, time-series databases, and log search systems, with columnar storage, time-based partitioning, and bitmap indexes serving sub-second queries over streaming data.
Apache Doris is an MPP analytical database for real-time reporting and ad-hoc analysis, speaking MySQL-compatible SQL over a Java front end and a C++ back end, and the project StarRocks was originally forked from.
PostgreSQL extension adding time-series and columnar analytics
OLAP Engines
TimescaleDB is a PostgreSQL extension that adds automatic time-based partitioning, hybrid row-columnar storage, and incrementally refreshed aggregates, keeping full PostgreSQL SQL and its entire ecosystem of drivers and tools.
Time-series database with SQL and millisecond query latency
OLAP Engines
QuestDB is an open-source time-series database with a column-oriented, time-partitioned storage engine and SIMD-vectorized execution, extending SQL with time-series operators like SAMPLE BY and ASOF JOIN.
Distributed SQL for analytics over mixed and high-cardinality data
OLAP Engines
CrateDB is an open-source distributed SQL database for real-time analytics and search, querying relational, JSON, time-series, geospatial, vector, and full-text data through one PostgreSQL-compatible interface.
Columnar observability store for metrics, logs, and traces
OLAP Engines
GreptimeDB is an open-source observability database handling metrics, logs, and traces in one Rust engine, with columnar storage on object storage and both SQL and PromQL as query languages.
Distributed storage exposing object, block, and file interfaces
Object Storage
Ceph is an open-source distributed storage platform providing object, block, and file interfaces from a single cluster built on commodity hardware, with its RADOS Gateway exposing the S3-compatible API.
Distributed object store speaking both S3 and Hadoop filesystem
Object Storage
Apache Ozone is an open-source object store built for analytics workloads, serving the same data through a native S3 protocol and a Hadoop-compatible filesystem interface, and scaling to billions of objects.
S3-compatible store optimized for billions of small files
Object Storage
SeaweedFS is an open-source distributed store built on Facebook's Haystack design, keeping per-file metadata overhead to about 40 bytes so it can serve billions of small files with a single disk seek.
Single-binary S3 store for geo-distributed commodity hardware
Object Storage
Garage is an open-source S3-compatible object store that ships as one dependency-free binary, runs across geographically separate sites without a dedicated backbone, and needs as little as 1 GB of RAM per node.
S3-compatible storage distributed across a global node network
Object Storage
Storj is an S3-compatible object store that erasure-codes each object across a global network of independently operated nodes, rather than storing it in a provider's own datacenters.
Open-source MPP warehouse continuing the Greenplum lineage
Data Warehouses
Apache Cloudberry is an open-source massively parallel processing data warehouse built on a PostgreSQL 14 kernel, created by original Greenplum developers after Greenplum itself was closed-sourced.
MPP OLAP engine with real-time ingest and query-time joins
OLAP Engines
StarRocks is an open-source MPP OLAP database combining streaming ingest, strong join performance at query time, and direct querying of lakehouse table formats.
Real-time OLAP for user-facing analytics at high concurrency
OLAP Engines
Apache Pinot is a distributed real-time OLAP store built to serve analytical queries at very high concurrency with millisecond latency, ingesting directly from streams.
Open-source data integration with a large connector catalog
Batch ELT
Airbyte is a data integration platform that syncs data from APIs, databases, and files into warehouses and lakes, available self-hosted or as a managed cloud service.