Add BemiDB#1024
Merged
Merged
Conversation
BemiDB (https://github.com/BemiHQ/BemiDB) is a Postgres read replica optimized for analytics: a single Go binary that embeds DuckDB, stores data as Apache Iceberg (Parquet), and speaks the PostgreSQL wire protocol. Pins v0.51.1, the last self-contained single-binary, local-storage release. The later v1.x line requires S3 object storage and a separate catalog database, which doesn't fit a single-VM reproducible benchmark. BemiDB's only ingestion path is syncing from a source PostgreSQL, so the load step is a two-stage pipeline (bulk-load hits into a staging Postgres, then `bemidb sync` into local Iceberg); both stages are counted as load time. The staging Postgres is stopped before the query phase so only BemiDB is resident. Data size is the local Iceberg directory. No Docker: the binary comes from GitHub Releases and Postgres from the PGDG apt repo. Closes #313 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
alexey-milovidov
temporarily deployed
to
benchmark-approval
July 22, 2026 01:48 — with
GitHub Actions
Inactive
Contributor
|
Results for Logs:
|
alexey-milovidov
temporarily deployed
to
benchmark-approval
July 22, 2026 16:05 — with
GitHub Actions
Inactive
Contributor
|
Results for Logs:
|
Contributor
|
Results for Logs:
|
Contributor
|
Results for Logs:
|
Contributor
|
Results for Logs:
|
Contributor
|
Results for Logs:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #313.
Adds a ClickBench entry for BemiDB — a Postgres read replica optimized for analytics: a single Go binary that embeds DuckDB, stores data as Apache Iceberg (Parquet), and speaks the PostgreSQL wire protocol.
Design decisions
loadis a two-stage pipeline — bulk-loadhits.tsvinto a staging PostgreSQL (COPY FREEZE), thenbemidb syncinto local Iceberg storage. Both stages are counted as load time, since together they are what it takes to get the dataset queryable in BemiDB. The staging PostgreSQL is stopped before the query phase so only BemiDB is resident.create.sql/queries.sql, unchanged.Validation
Ran the full pipeline (load → sync → serve → query) against v0.51.1 on a small synthetic dataset. All 43 queries execute successfully through BemiDB's query remapper → DuckDB. Cold-cycle stop/start restarts cleanly.
No
results/are included yet — the canonical numbers should come from a run on the standard EC2 hardware via the benchmark workflow.