Plan structuré
Tables Iceberg via Trino. Entités, métriques, dimensions, contrats de données. Ici OSL est un superset de dbt MetricFlow — tout projet MetricFlow valide est un OSL valide.
OpenDome est une plateforme de données open-core pour les équipes qui doivent mettre leurs données structurées et non structurées derrière une interface unique, gouvernée et interrogeable — sans les céder à un tiers.
Vous faites tourner une cellule : un namespace Kubernetes par tenant, autonome, qui héberge votre lakehouse (Iceberg + Lance), vos pipelines et le moteur de consommation. Tout ce qui lit des données passe par une seule surface — la OpenDome Semantic Layer (OSL).
Les données structurées, les non structurées, les métriques, les entités et le langage naturel se consomment exclusivement à travers OSL. Trino, Lance et dbt sont des moteurs internes : ils n’exposent jamais d’endpoint public. Aucun consommateur ne parle directement à Trino.
OSL décrit un modèle sémantique qui couvre deux substrats physiques avec un seul langage déclaratif en YAML :
Plan structuré
Tables Iceberg via Trino. Entités, métriques, dimensions, contrats de données. Ici OSL est un superset de dbt MetricFlow — tout projet MetricFlow valide est un OSL valide.
Plan non structuré
Collections Lance via LanceDB. Chunk schema, embeddings, retrieval hybride (vector + BM25 + filtres de metadata), ACL row-level. C’est l’extension OSL-only.
Le pont entre les deux est la JointEntity : un objet logique (Customer,
Policy, Order) dont la clé primaire vient d’un modèle structuré et qui
expose des attributs tirés des deux plans. Un appel, une décision de politique, une
trace d’audit. Voir Concepts pour le modèle complet.
La distribution Apache-2.0 contient tout le nécessaire pour faire tourner et consommer une cellule sur votre propre infrastructure :
tenant-semantic-api) servant les 13 endpoints /osl/*.