olake is a free, open source data engineering & integration project written in Go and released under Apache-2.0. It has 1,453 GitHub stars, 252 forks and 178 open issues, and was last pushed 9 hours ago. On this registry it ranks #31 of 39 tracked projects in Data Engineering & Integration, with 5 head-to-head comparisons available. It gained 1 stars over the last 3 tracked days.

What is olake?

What it is

OLake Go is an open-source data ingestion engine written in Go and licensed under Apache-2.0. It replicates transactional databases, Apache Kafka, and S3 into Apache Iceberg or plain Parquet, and it provides a web UI and a command-line interface for building scalable, real-time pipelines. The project sits in the Apache Iceberg and lakehouse ecosystem, where its stated goal is to move data into vendor-neutral table formats that can be read by query engines and warehouses.

The concrete problem it addresses is the operational complexity of building ELT pipelines that keep analytical tables current with source systems. OLake Go supports full load, change-data-capture, and incremental replication from PostgreSQL, MySQL, MongoDB, Oracle, DB2, MSSQL, Kafka, and S3. It also supports automatic schema discovery and schema evolution, so pipelines can reflect source changes without a separate transformation layer. The README describes the engine as infrastructure-light because the ingestion path does not require Spark, Flink, Kafka, or Debezium.

Key capabilities

  • OLake Go supports full load, change-data-capture, and incremental replication from PostgreSQL, MySQL, MongoDB, Oracle, DB2, MSSQL, Kafka, and S3.
  • It writes replicated data into Apache Iceberg or plain Parquet, and it supports Glue, Hive, JDBC, and REST catalogs for Iceberg table management.
  • It provides automatic schema discovery and schema evolution, allowing pipelines to adapt when source tables change.
  • It uses exactly-once delivery and Arrow writes, according to the README, to combine accuracy with high-throughput ingestion.
  • It includes a self-serve web UI and a CLI, and it can be deployed with Docker Compose.
  • A companion project, OLake Fusion, automates Apache Iceberg table maintenance.

Who uses it and how

  • Data engineering teams can use OLake Go to replicate operational databases into a lakehouse for real-time analytics.
  • Streaming workloads can ingest Apache Kafka into Apache Iceberg or Parquet with bounded incremental processing, as described in the README.
  • Teams can replicate S3 object-store data into open table formats, with the README stating that Spark, Flink, Kafka, or Debezium are not required for the ingestion path.
  • Users can configure and run syncs through the web UI or CLI, then expose the resulting Iceberg tables to query engines and warehouses through supported catalogs.

Getting started

Typical setup is to run OLake Go with Docker Compose, then use the web UI or CLI to define sources and destination catalogs. The README points users to the documentation and benchmarks at olake.io/docs.

When to use it — and when not to

Use OLake Go when a self-hosted Go-based ingestion engine for databases, Kafka, or S3 is needed, and when the pipeline should write to Apache Iceberg or Parquet without requiring additional Spark, Flink, Kafka, or Debezium infrastructure. The README compares Postgres, MySQL, and MSSQL throughput to Fivetran, and Kafka throughput to Flink, but those comparisons are project-reported benchmarks rather than independent evaluations. Avoid it if production-ready Oracle or DB2 change-data-capture is required, because the README lists Oracle CDC as work in progress and DB2 CDC as unsupported.

project readme (upstream, from github) — read inline

olake
OLake Go

OLake Go is a high-performance, open-source data ingestion engine for replicating databases, S3, and Kafka into Apache Iceberg (or plain Parquet).
Built for scalable, real-time pipelines, OLake Go provides a simple web UI and CLI - used to ingest into vendor-lock-in free Iceberg tables supporting all the query-engines/warehouses.

Read the docs and benchmarks at olake.io/docs. Join our active community on Slack.

GitHub issues Documentation slack Contribute to OLake

[!NOTE] 🎉 OLake Fusion is now live! — Automate your Apache Iceberg Table Maintenance. Check it out here → github.com/datazip-inc/olake-fusion 🎉

OLake Go — Super-fast Sync to Apache Iceberg

OLake Go supports replication from transactional databases such as PostgreSQL, MySQL, MongoDB, Oracle, DB2, and MSSQL, event-streaming systems like Apache Kafka and Object-store like S3, into open data lakehouse formats such as Apache Iceberg or Plain Parquet — delivering blazing-fast performance with minimal infrastructure cost.

pic


🚀 Why OLake Go?

  • 🧠 Smart sync: Full + CDC replication with automatic schema discovery & schema evolution
  • High throughput: 580K RPS (Postgres) & 338K RPS (MySQL)
  • ➡️ Exactly once delivery & Arrow writes: Accuracy with speed.
  • 💾 Iceberg-native: Supports Glue, Hive, JDBC, REST catalogs
  • 🖥️ Self-serve UI: Deploy via Docker Compose and sync in minutes
  • 💸 Infra-light: No Spark, no Flink, no Kafka, no Debezium

📊 Benchmarks

Full Load
Source → Destination Full Load Relative Performance (Full Load) Full Report
Postgres → Iceberg
(as of 30th Jan 2026)
5,80,113 RPS 12.5× faster than Fivetran Full Report
MySQL → Iceberg
(as of 30th May 2026)
1,39,773 RPS 1.91× faster than Fivetran Full Report
MongoDB → Iceberg
(as of 5th Feb 2026)
37,879 RPS - Full Report
Oracle → Iceberg
(as of 30th Jan 2026)
5,26,337 RPS - Full Report
Kafka → Iceberg
(as of 27th Feb 2026)
2,09,065 MPS (Bounded Incremental) 1.23x slower than Flink Full Report
MSSQL → Iceberg
(as of 09th June 2026)
3,45,866 MPS 4.32x faster than Fivetran Full Report
CDC
Source → Destination CDC Relative Performance (CDC) Full Report
Postgres → Iceberg
(as of 30th Jan 2026)
55,555 RPS 2× faster than Fivetran Full Report
MySQL → Iceberg
(as of 30th May 2026)
59,951 RPS 1.52× faster than Fivetran Full Report
MongoDB → Iceberg
(as of 5th Feb 2026)
10,692 RPS - Full Report

🔧 Supported Sources and Destinations

Sources (Databases)
Source Full Load CDC Incremental Notes Documentation
PostgreSQL pgoutput wal2json deprecated Postgres Docs
MySQL Binlog-based CDC MySQL Docs
MongoDB Oplog-based CDC MongoDB Docs
Oracle WIP JDBC based Full Load & Incremental Oracle Docs
DB2 - JDBC based Full Load & Incremental DB2 Docs
MSSQL Full Load, CDC & Incremental MSSQL Docs
Source (S3)
Source Full Load CDC Incremental Notes Documentation
S3 - Ingests from Amazon S3 or S3-compatible (MinIO, LocalStack) S3 Docs
Source (Kafka)
Source Bounded Incremental Notes Documentation
Kafka Latest offset bounded incremental sync Kafka Docs
Destinations
Destination Format Supported Catalogs
Iceberg Glue, Hive, JDBC, REST (Nessie, Polaris, Unity, Lakekeeper, AWS S3 tables)
Parquet Filesystem
Writer Docs
  1. Apache Iceberg Docs

    1. Catalogs
      1. AWS Glue Catalog
      2. REST Catalog
        • Generic
        • Lakekeeper
        • Nessie
        • S3 Tables
        • Unity
        • Apache Polaris
      3. JDBC Catalog
      4. Hive Catalog
    2. Azure ADLS Gen2
    3. Google Cloud Storage (GCS)
    4. MinIO (local)
  2. Parquet Writer

    1. AWS S3 Docs
    2. [Google Cloud Storage (GCS)](https://olake.io/docs/writers/parquet/config/#using-gcs-co

readme truncated — read the full docs on github

Frequently asked questions

Is olake free to use?

olake is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does olake do?

OLake - Fastest Databases, Kafka & S3 Replication to Apache Iceberg with Table optimization (Called OLake Fusion). ⚡ Efficient, quick and scalable data ingestio

What is olake written in?

olake is primarily written in Go. Its source is publicly available at https://github.com/datazip-inc/olake, and it has 1,453 GitHub stars.