实时数据仓库分层架构:ODS、DWD、DIM、DWM、DWS和ADS
实时数据仓库(Real-time Data Warehouse)通常参考一种称为Lambda架构的分层架构,将数据处理流程划分为不同的层次,包括原始数据层、批处理层和实时处理层。其中,常见的分层包括ODS、DWD、DIM、DWM、DWS和ADS等。
1. ODS(Operational Data Store,运营数据存储):ODS是实时数据仓库的第一层,用于接收和存储来自各种业务系统的原始操作数据。ODS通常不对数据进行大规模的处理和转换,而是以近乎原始的形式保存数据,以便后续的数据分析和处理。
2. DWD(Data Warehouse for Detailed Data,明细数据仓库):DWD是实时数据仓库的批处理层,用于对ODS中的原始数据进行清洗、整合和转换。在DWD层,数据会进行ETL(抽取、转换、加载)处理,包括数据清洗、数据合并、数据格式转换等,以生成符合业务需求的详细数据。
3. DIM(Dimension,维度表):DIM层是实时数据仓库中的维度表层,用于存储业务维度信息,如产品、用户、时间等。维度表通常具有稳定的数据,用于支持数据的分析和查询操作。在DIM层中,维度数据会被预计算、处理和管理,以提供高效的维度查询和关联操作。
4. DWM(Data Warehouse for Mid-level Data,中层数据仓库):DWM是实时数据仓库的中层处理层,用于将批处理数据和实时处理数据进行聚合和汇总。在DWM层,可以进行基于时间窗口的数据聚合、统计和汇总,以便提供更高层次的数据分析和查询服务。
5. DWS(Data Warehouse for Summary Data,汇总数据仓库):DWS是实时数据仓库的汇总数据层,用于存储汇总、预计算的数据。在DWS层,可以进行更高级别的数据聚合和计算,以生成各种汇总指标和报表数据,以支持决策分析和报表生成等需求。
6. ADS(Application Data Service,应用数据服务):ADS是实时数据仓库的应用数据服务层,用于向应用程序和用户提供数据访问接口和服务。在ADS层,可以构建API、提供数据查询和分析工具,以及支持数据可视化和应用开发等需求。
这些分层在实时数据仓库中起到了不同的作用,将数据处理过程分解成多个层次,使得数据的处理、分析和查询更加高效和灵活。同时,每个层次都具有不同的数据粒度和处理方式,以适应不同层次的业务需求。