All Products
Search
Document Center

MaxCompute:Divide a data warehouse into layers

Last Updated:Mar 26, 2026

The Alibaba data system organizes a data warehouse into three layers, from bottom to top: the Operational Data Store (ODS) layer, the Common Data Model (CDM) layer, and the Application Data Service (ADS) layer. Data moves from raw source-mirrored records at the ODS layer to business-ready outputs at the ADS layer — gaining structure, quality, and business relevance at each step.

Layer overview

LayerFull nameWhat it holdsWho uses it
ODSOperational Data StoreRaw data mirroring source systems; historical change recordsData engineers managing ingestion and ETL pipelines
CDMCommon Data ModelCleaned, integrated data organized into dimensions, detail facts, and aggregatesData engineers and analysts building shared models
ADSApplication Data ServicePersonalized statistical metrics tailored to specific productsBI developers and application teams consuming final outputs

ODS layer

The ODS layer is the data staging area of the data warehouse. It stores raw data whose structure mirrors the source system, and it records historical changes to that data. DataWorks collects data from the transaction data system and synchronizes it to the ODS layer.

The ODS layer is divided into three parts:

  • Data staging area — transient landing zone for incoming data

  • Offline data area — data available for batch processing

  • Quasi-real-time data area — data with near-real-time latency requirements

ODS data is stored in data middleware so that downstream applications can subscribe to it directly.

CDM layer

The CDM layer — also called the general data model layer — processes and integrates ODS data. Its goal is to define conformed dimensions, create reusable fact tables, and aggregate common metrics that multiple applications can share without each team rebuilding the same logic.

MaxCompute handles the extract, transform, and load (ETL) processing from the ODS layer to the DIM layer. The processed data is then synchronized to all storage systems.

The CDM layer comprises three sublayers:

DIM layer

The DIM (Dimension Data) layer defines conformed dimensions based on dimensional modeling concepts. Consistent dimension definitions reduce the risk of inconsistent statistical criteria and algorithms across teams.

Generally, each dimension corresponds to one logical dimension table.

DWD layer

The Data Warehouse Detail (DWD) layer is driven by business processes. It creates detailed fact tables at the finest granularity based on each specific business process. Where useful, key dimension attributes are duplicated into the fact table to create wide tables.

Tables at the DWD layer are called logical fact tables. Like ODS data, DWD data is stored in data middleware for downstream subscription.

DWS layer

The Data Warehouse Service (DWS) layer is driven by analyzed subjects — the metric requirements of upper-layer applications and products. It aggregates common metrics, builds a physical data model using wide tables, and generates both aggregate wide tables and detailed fact tables.

All statistical metrics at the DWS layer follow uniform naming conventions and statistical criteria. Tables at the DWS layer are called logical aggregate tables and store derived metrics.

DWS data is stored in online storage systems. Downstream applications retrieve it by calling relevant methods.

ADS layer

The ADS layer stores personalized statistical metrics for specific data products. It draws from both the CDM and ODS layers to produce outputs tailored to individual applications or business units.

ADS data is usually stored in online storage systems, accessible by downstream applications through relevant method calls.