Glossary/Semantic Layer & Metrics

Data Abstraction Layer

A data abstraction layer is a software or architectural component that sits between raw data sources and analytics consumers, providing unified access and hiding implementation complexity.

A data abstraction layer shields users from implementation details. Rather than analysts knowing which tables contain what data, how they join, or which database they're querying, they work with abstracted business concepts. The abstraction layer handles translation: when a user requests "monthly revenue by product," the layer maps that to appropriate tables, joins, aggregations, and optimizations transparently. The user doesn't need to know whether data comes from a single warehouse or multiple federated sources.

Data abstraction layers emerged because direct data warehouse access is complex and error-prone. Analysts write different JOIN logic, accidentally create many-to-many relationships, and struggle with table organization. An abstraction layer enforces best practices: defining relationships once, optimizing queries automatically, and preventing common errors. It also insulates analytics from warehouse migrations: if the physical schema changes, the abstraction layer adapts while users' queries remain unchanged.

Data abstraction layers typically include semantic models, view layers, or dedicated systems (like Looker's Explores or dbt's semantic models). The layer translates requests to optimized SQL, handles caching, enforces row-level security, and manages metadata. It's a critical component of self-service analytics: when abstraction is well-designed, non-technical users access governed data without knowing SQL.

Key Characteristics

  • Hides database schema complexity and implementation details
  • Provides user-friendly business concepts and terminology
  • Enforces defined relationships and join logic
  • Automatically optimizes and translates queries
  • Enables schema independence and evolution
  • Manages access control and data governance

Why It Matters

  • Usability: Non-technical users can access data without SQL knowledge
  • Reliability: Enforced logic prevents common analytics errors
  • Flexibility: Physical schema changes don't break user queries
  • Consistency: Centralized definitions prevent fragmentation
  • Performance: Automatic optimization and caching improve query speed

Example

Users interact with business concepts (revenue, customer, product) through a query interface. The abstraction layer translates "revenue by product and region" into optimized SQL across the warehouse, handles currency conversion, applies test-account filters, and returns results. Users never see table names, joins, or optimization logic.

Coginiti Perspective

Coginiti implements data abstraction at two levels. SMDL abstracts physical table structures into business entities with typed dimensions and measures, while Semantic SQL abstracts platform-specific SQL dialects through automatic translation via Apache DataFusion. An analyst writes one query against the semantic model; the engine translates it to the correct syntax for whichever of the 24+ supported platforms the data resides on. The ODBC driver extends this abstraction to BI tools like Power BI and Excel.

See Semantic Intelligence in Action

Coginiti operationalizes business meaning across your entire data estate.