Skip to content

What is OpenDome?

OpenDome is an open-core data platform for teams that need to put their structured and unstructured data behind a single, governed, queryable interface — without handing it to a third party.

You run a cell: a self-contained, per-tenant Kubernetes namespace that holds your lakehouse (Iceberg + Lance), your pipelines, and the consumption engine. Everything that reads data goes through one surface — the OpenDome Semantic Layer (OSL).

The one rule: OSL is the sole consumption layer

Section titled “The one rule: OSL is the sole consumption layer”

Structured data, unstructured data, metrics, entities and natural language are consumed exclusively through OSL. Trino, Lance and dbt are internal engines: they never expose a public endpoint. No consumer talks to Trino directly.

OSL describes a semantic model that spans two physical substrates with a single declarative YAML language:

Structured plane

Iceberg tables via Trino. Entities, metrics, dimensions, data contracts. Here OSL is a superset of dbt MetricFlow — any valid MetricFlow project is valid OSL.

Unstructured plane

Lance collections via LanceDB. Chunk schema, embeddings, hybrid retrieval (vector + BM25 + metadata filters), row-level ACL. This is the OSL-only extension.

The bridge between them is the JointEntity: a logical object (Customer, Policy, Order) whose primary key comes from a structured model and which exposes attributes drawn from both planes. One call, one policy decision, one audit trail. See Concepts for the full model.

The Apache-2.0 distribution is everything needed to run and consume a cell on your own infrastructure:

  • The cell data plane — Helm charts for a standalone, self-contained tenant.
  • The OSL engine (tenant-semantic-api) serving the 13 /osl/* endpoints.
  • Connectors (Singer/Meltano taps: Postgres, MySQL, Salesforce, custom).
  • The embedder and Lance-backed retrieval.
  • Policy evaluation (SQL allowlist, row filters, projection) — fail-closed.
  • The OSL specification, JSON Schemas and a worked example.
  • Adopters (a customer data team) — model your domain in OSL, connect sources, serve governed metrics and retrieval. Start with Concepts then the Quickstart.
  • Agent authors — build agents against OSL’s MCP tools and REST. See the API reference.
  • Spec implementers — build an OSL-conformant engine. See Spec & governance.