Core Concepts
Understanding the foundational concepts of Modality.
Data Modeling Layers
Modality supports three modeling layers:
1. Conceptual Layer
- Purpose: Business view of data
- Components: Domains, Entities, Relationships
- Format: MML domain blocks
- Audience: Business stakeholders, analysts
2. Logical Layer
- Purpose: System implementation view
- Components: Sources, Mappings, Transformations
- Format: MML source and mapping blocks
- Audience: Data engineers, architects
3. Data Products
- Purpose: Consumption layer
- Components: Reports, Metrics, Dashboards
- Format: MML product blocks
- Audience: End users, consumers
Key Terminology
Domain : A logical grouping of related entities (e.g., Sales, Marketing, Platform)
Entity : A business object being modeled (e.g., Customer, Order, Product)
Entity Types : - Dimension: Reference data (Customer, Product) : - Fact: Transactional data (Order, Event) : - Metric: Calculated KPIs (Revenue, Active Users) : - Derivation: Derived tables (Customer 360, Product Catalog)
Relationship : Connection between entities (belongs-to, derived-from, contains)
Source : External system providing data (Database, API, File)
Data Product : Curated data asset with defined consumers and SLAs
Model Lifecycle
- Design - Create conceptual model
- Map - Connect to source systems
- Build - Implement transformations
- Publish - Create data products
- Version - Track changes in Git
Best Practices
- Start simple: Begin with core entities
- Use domains: Group related entities logically
- Be explicit: Document relationships clearly
- Version everything: Commit changes regularly
- Review changes: Use pull requests for collaboration
