Skip to main content

FAQ

How does it work?

BemiDB connects directly to your Postgres instance and syncs your data, formatted into compressed columnar Iceberg tables stored in object storage. We use DuckDB as the embedded query engine, which allows for fast, analytical queries on large datasets. The Postgres wire protocol ensures compatibility, so you can connect using any Postgres-compatible tool without modifications.

What does zero-ETL mean?

Zero-ETL means there’s no need for a separate process to extract, transform, and load (ETL) data from one system to another for analytics. BemiDB syncs directly from Postgres, storing data in a columnar format that’s ready for querying. This removes the need for data engineering complexity, making data accessible for analysis without additional pipelines, data mapping, or transformations.

Will BemiDB slow down my primary Postgres database?

No. BemiDB will actually reduce the load on your primary Postgres. The connection for syncing data is minimal, so there's no impact on your transactional traffic while BemiDB handles analytics queries.

What's the setup process like?

Setup is automatic. Once you connect your Postgres database, BemiDB detects the schema, and syncing starts in the background. No setup required on your part.

Can I store the data in my own S3 bucket?

By default, all data is stored in our system to reduce data transfer costs. You can Bring Your Own Bucket (BYOB) for storing data in your own S3-compatible object storage to have full data control. Reach out to us if you have any questions, and we'd be happy to discuss your requirements.

How much data can you store?

Storage in BemiDB is effectively unlimited. Data is stored in Iceberg format with compressed Parquet columnar format files on S3, which provides high scalability, availability, and durability. You won’t face hard storage limits, and performance is managed through efficient data retrieval with optimized and partitioned storage.