finds.dev← search

// the find

BemiHQ/BemiDB

★ 1,523 · Go · AGPL-3.0 · updated Jan 2026

Open-source Snowflake & Fivetran alternative, with Postgres compatibility.

BemiDB is a self-hosted analytical database that wraps DuckDB behind a Postgres wire protocol, syncs data from various sources into Iceberg/Parquet on S3, and lets you query it with any Postgres client. It targets small teams who want Snowflake-style OLAP without the Snowflake bill. Think: replace your Redshift or Fivetran+BigQuery stack with one Docker container and an S3 bucket.

The architecture is genuinely clean: DuckDB for the query engine, Iceberg for storage, Postgres wire protocol for compatibility — each component is the right tool for its job. The TPC-H numbers are believable and properly documented with methodology in /benchmark, not just a headline claim. Packaging everything in a single Docker image with stateless processes is the right call for small teams — no Kubernetes, no Spark, no Trino dependency for compaction (explicitly called out as fixed in the roadmap). The data type mapping table is thorough and honest about where things get serialized to strings (JSON, geo types).

Connector coverage is thin — Postgres, Amplitude, Attio, and Dialpad. No MySQL, no Stripe, no HubSpot, all marked TODO. The Dialpad connector requires you to write your own Node.js webhook service and run a NATS server, which is a lot of glue for what should be a built-in integration. All Postgres syncing is full-refresh only; there's no incremental CDC from Postgres despite the CHANGELOG presumably being built on Bemi's own CDC product. With only 43 forks and commits stopping in January 2026, it's unclear whether this has real production deployments behind it or is mostly a demo for BemiDB Cloud upsells.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →