Product · Lakehouse & catalog
One lakehouse. Open format.
Your storage.
All your data as Apache Iceberg tables on your own European bucket: ACID, versioned, catalogued and governed. An open spec underneath, so the day you want to leave, you just take the files.
The anatomy
Your bucket
Plain Parquet and Iceberg metadata on your own S3, in your region. The files are yours, physically.
Iceberg tables
ACID transactions, snapshots and schema evolution on top of those files. An open spec, not a product.
The catalog
Lakekeeper, an Iceberg REST catalog, makes every table addressable as warehouse.namespace.table.
The engines
DuckDB reads, Spark writes and maintains. Routed automatically, no engine to pick.
Governance
Audit, lineage and per-workspace isolation wrap every access, from the first byte.
acme.sales.orders · warehouse . namespace . table, one address for every dataset
The format
Iceberg does the
hard parts.
ACID transactions
Concurrent writers, atomic commits, no half-written tables. Correctness is the default, not a setting.
Time travel
Every commit is a snapshot. Query yesterday's table, audit a past report, or roll back a bad write in one statement.
Schema evolution
Add, rename or drop columns without rewriting data and without breaking a single downstream query.
Hidden partitioning
Iceberg tracks partitions in metadata. Queries prune automatically; nobody writes partition predicates by hand.
-- create an Iceberg table on your bucket
CREATE TABLE acme.sales.orders (
id BIGINT, customer STRING,
amount DECIMAL(10,2), ts TIMESTAMP
) USING iceberg;
-- write: routed to Spark automatically
INSERT INTO acme.sales.orders
SELECT * FROM acme.staging.orders_raw;
-- read yesterday's state: one clause
SELECT sum(amount) FROM acme.sales.orders
FOR TIMESTAMP AS OF '2026-06-11 00:00:00'; The catalog
Every table, one
searchable map.
An Iceberg REST catalog
Lakekeeper catalogues every namespace and table behind a standard REST interface. Polnor speaks it, and so does any other Iceberg-aware engine you own.
Schema, rows, snapshots
Browse columns and types, preview rows, inspect snapshot history and table properties from the console's Catalog Explorer.
Time travel built in
Query any past snapshot, compare states, or roll a table back. Yesterday's report is always reproducible, exactly as it ran.
No lock-in, structurally
Parquet files and Iceberg metadata on your bucket are the whole product. Stop using Polnor and everything keeps working with any open engine.
The engines
Two engines.
Zero decisions.
Polnor routes every statement to the right engine: DuckDB for fast interactive reads, Spark for writes, merges and table maintenance. You write SQL; the platform does the dispatch.
- Sub-second reads on DuckDB, straight off Iceberg metadata
- INSERT, UPDATE, MERGE and DDL handled by Spark
- Compaction and snapshot expiry scheduled for you
- Both engines run on a warehouse VM in your cloud, auto-stopped when idle
⬢ Queries execute in your region. Results never transit our infrastructure.
# read → DuckDB
polnor sql "SELECT customer, sum(amount)
FROM acme.sales.orders GROUP BY 1"
# write → Spark
polnor sql "MERGE INTO acme.sales.orders o
USING acme.staging.orders_raw r ON o.id = r.id
WHEN MATCHED THEN UPDATE SET *
WHEN NOT MATCHED THEN INSERT *"
# → engine: duckdb · 0.4s | engine: spark · 11s Governed by default
A lakehouse your
DPO will sign off.
Every read, write and schema change is logged with actor and timestamp, exportable to your own S3.
Trace any column back through every query, job and notebook that produced it.
Tables, catalogs and queries are scoped per workspace. The API never crosses tenants.
Compaction and snapshot expiry run on the Spark sidecar, keeping tables fast and storage tidy.
Files sit on the bucket and region you chose. Point an auditor at it.
Per-workspace caps on warehouses and compute keep the lakehouse from becoming a bill surprise.
More of the platform
Data warehousing
Serverless SQL warehouses, on demand
Data engineering
ETL & orchestration, batch and streaming
AI & machine learning
Train, fine-tune & serve. Hugging Face built in
Business intelligence
Dashboards & live analytics
Notebooks
Git-backed, collaborative, live kernels
Compute
GPU & CPU clusters on your cloud
Governance
Audit, lineage & quotas
Security & sovereignty
Encrypted, isolated, European-only
Bring your own cloud
OVHcloud & Scaleway, your account
Set a course
Request a
demo.
See your own Iceberg tables, warehouses and notebooks running on your European cloud, usually within a week.
hello@polnor.net · OVHcloud GRA9, France 🇫🇷