/surfaces
Open tables and interfaces
Open tables and open interfaces. Attach your tools, build your apps, stream your events.
Lakehouse
Expose Delta, Iceberg, or Hudi-style tables with ACID, schema evolution, and time travel. Register in your catalogue. Share without copying.
invoices-fact.sql
-- invoices_fact (Iceberg-style)
invoice_id STRING, party_id STRING, po_id STRING,
total DECIMAL(18,2), currency STRING,
posted_at TIMESTAMP, effective_from TIMESTAMP, version INT
PARTITIONED BY (bucket(64, party_id), days(posted_at))SQL
Attach with DuckDB, Trino, Spark.
DuckDB
ATTACH 's3://dbsof/catalog' (secret='...');
Trino
CREATE SCHEMA dbsof WITH (location='s3://dbsof/catalog');
Spark
spark.read.format('iceberg').load('dbsof.invoices_fact')
Graph/GraphQL
Typed relations mirror the ontology. Schema registry entries back each Graph endpoint, so contracts stay explicit.
Use the same order-trace.graphql query from the model page.
Graph mutations respect versioning and provenance, keeping operational writes deterministic.
REST
FRAND REST endpoints mirror canonical objects and events.
rest-api.http
GET /v1/orders/{id}
GET /v1/orders?party_id=...
POST /v1/events (content-type: application/json)
Authorization: Bearer <token>Streams/CDC
Zero-copy, policy-aware CDC feeds. Filter by object, field, tenant, or enrichment tags to drive downstream systems without duplication.
