Strukturierte Ebene
Iceberg-Tabellen über Trino. Entities, Metriken, Dimensionen, Data Contracts. Hier ist OSL ein Superset von dbt MetricFlow — jedes gültige MetricFlow-Projekt ist gültiges OSL.
OpenDome ist eine Open-Core-Datenplattform für Teams, die ihre strukturierten und unstrukturierten Daten hinter eine einzige, gesteuerte, abfragbare Schnittstelle stellen müssen — ohne sie an Dritte abzugeben.
Du betreibst eine Zelle: einen eigenständigen, mandantenspezifischen Kubernetes-Namespace, der dein Lakehouse (Iceberg + Lance), deine Pipelines und die Konsum-Engine enthält. Alles, was Daten liest, läuft über eine einzige Oberfläche — die OpenDome Semantic Layer (OSL).
Strukturierte Daten, unstrukturierte Daten, Metriken, Entities und natürliche Sprache werden ausschließlich über OSL konsumiert. Trino, Lance und dbt sind interne Engines: Sie exponieren niemals einen öffentlichen Endpoint. Kein Konsument spricht direkt mit Trino.
OSL beschreibt ein semantisches Modell, das zwei physische Substrate mit einer einzigen deklarativen YAML-Sprache umspannt:
Strukturierte Ebene
Iceberg-Tabellen über Trino. Entities, Metriken, Dimensionen, Data Contracts. Hier ist OSL ein Superset von dbt MetricFlow — jedes gültige MetricFlow-Projekt ist gültiges OSL.
Unstrukturierte Ebene
Lance-Collections über LanceDB. Chunk-Schema, Embeddings, hybrides Retrieval (Vektor + BM25 + Metadata-Filter), row-level ACL. Das ist die OSL-only-Erweiterung.
Die Brücke zwischen beiden ist die JointEntity: ein logisches Objekt
(Customer, Policy, Order), dessen Primärschlüssel aus einem strukturierten
Modell stammt und das Attribute aus beiden Ebenen bereitstellt. Ein Aufruf, eine
Policy-Entscheidung, ein Audit-Trail. Siehe Konzepte für
das vollständige Modell.
Die Apache-2.0-Distribution ist alles, was nötig ist, um eine Zelle auf deiner eigenen Infrastruktur zu betreiben und zu konsumieren:
tenant-semantic-api), die die 13 /osl/*-Endpoints bereitstellt.