Overview
Understanding Buster’s semantic layer for analytical data modeling
The semantic layer helps Buster understand your data structure, relationships, and business logic.
What is a Semantic Layer?
A semantic layer acts as a translation layer between your raw data and Buster’s AI. It defines:
- Business entities (users, orders, products)
- Dimensions (attributes used for grouping, filtering, or segmenting data like dates, categories, statuses, or IDs)
- Measures (quantifiable data)
- Metrics (calculations)
- Relationships between models
By centralizing these definitions, the semantic layer allows Buster to generate accurate SQL, understand business metrics consistently, and provide reliable insights from your data, rather than relying on potentially inconsistent logic defined elsewhere.
Why Use a Semantic Layer?
Centralized Business Logic
Define business logic and metrics once in a versioned, testable modeling layer (‘shifting left’), ensuring consistent reuse across all analyses.
Data Relationships
Map connections between tables so Buster can navigate your data model.
Context & Meaning
Add descriptions and metadata to help Buster understand what your data represents.
Data Governance
Control which data is accessible and how it can be used.
Semantic Layer Components
Buster’s semantic layer is defined using YAML files that describe:
- Models: Business entities that typically map to database tables
- Dimensions: Attributes used for grouping, filtering, or segmenting data (like dates, categories, statuses, or IDs)
- Measures: Quantitative fields that can be aggregated
- Metrics: Calculations based on measures and dimensions
- Filters: Reusable, named boolean conditions for common query constraints
- Relationships (Entities): Connections between different models
Getting Started
To build your semantic layer: