DW数据仓库与ODS的区别

本文探讨了数据仓库(DW)与操作型数据存储(ODS)的区别,强调ODS提供当前数据状态,用于即时决策,而DW则存储历史数据以支持战略决策。ODS数据可变且实时更新,DW数据则相对稳定,不常更新。文中还提出了数据仓库和ODS并存的三种解决方案,以适应快速变化的业务需求和数据分析需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这两天接触到ODS,开始很纳闷,有了DW(Data Warehouse)干嘛还要ODS(Operational Data Store),于是不查不知道,一查吓一跳,这里面还有这么多道道,这里总结一下,当作学习了。

 

简单说:

DW

数据仓库存储是一个面向主题的,反映历史变化数据,用于支撑管理决策。

ODS

操作型数据存储,存储的是当前的数据情况,给使用者提供当前的状态,提供即时性的、操作性的、集成的全体信息的需求。

ODS作为数据库到数据仓库的一种过渡形式,与数据仓库在物理结构上不同,能提供高性能的响应时间,ODS设计采用混合设计方式。

ODS中的数据是"实时值",而数据仓库的数据却是"历史值",一般ODS中储存的数据不超过一个月,而数据仓库为10年或更多.

Data Mart

为了特定的应用目的或应用范围,而从数据仓库中独立出来的一部分数据,也可称为部门数据或主题数据(subjectarea)。在数据仓库的实施过程中往往可以从一个部门的数据集市着手,以后再用几个数据集市组成一个完整的数据仓库。需要注意的就是在实施不同的数据集市时,同一含义的字段定义一定要相容,这样再以后实施数据仓库时才不会造成大麻烦。

DDS(decision-support system)决策支持系统

用于支持管理决策的系统。通常,DSS包括以启发的方式对大量的数据单元进行的分析,通常不涉及数据更新

  

参考一:http://www.cnblogs.com/liqiu/p/4947801.html

(本部分为转)我在公司的数据部门工作,每天的订单类数据处理流程大致如下:

  1. 删除分析数据库的历史订单数据
  2. 全量更新订单数据到分析数据库。(由于订单核心数据不大,所以经受得起这么折腾)
  3. 将数
### 数据仓库中的ODSDW和ADS概念及其区别 #### ODS(操作数据存储) ODS层作为最接近源系统的层次,主要用于实时或近实时地保存来自各个业务系统的原始交易数据。这一层的数据保留时间较短,并且通常不会进行复杂的历史数据分析处理。其核心功能在于提供一个缓冲区来接收并暂时储存未经加工的业务数据,在此阶段可以执行一些简单的清洗工作以及初步的质量控制措施[^1]。 ```sql INSERT INTO ods_sales_data (transaction_id, product_code, sale_date, amount) SELECT transaction_id, product_code, sale_date, amount FROM source_system.sales; ``` #### DW数据仓库) 相比之下,数据仓库(DW)是一个面向主题的、集成化的、相对稳定的、反映历史变化的数据集合。它通过ETL过程抽取不同源头的操作型数据到中央库中,经过一系列转换逻辑形成统一视图供后续分析使用。具体来说: - **集成性**:整合多个异构系统的信息; - **稳定性**:保持结构不变以便长期查询; - **历史性**:记录随时间演变的趋势信息[^2]。 ```sql CREATE TABLE dw_fact_sales ( sales_key INT PRIMARY KEY, date_key DATE REFERENCES dim_dates(date_key), store_key VARCHAR(50) REFERENCES dim_stores(store_key), item_key VARCHAR(50) REFERENCES dim_items(item_key), quantity_sold DECIMAL(18, 4), total_price DECIMAL(19, 4) ); ``` #### ADS(应用数据服务) 最后提到的应用数据服务(ADS),则是基于上层构建的具体应用场景下的轻量级数据集。这类数据往往已经过高度聚合或是特定场景定制化裁剪后的成果物,旨在支持快速响应前端报表展示需求或者直接服务于某些BI工具/平台。因此,这里的重点是从实际业务角度出发设计易于理解和使用的指标体系[^3]。 ```sql WITH aggregated_sales AS ( SELECT EXTRACT(YEAR FROM s.sale_date) AS year, SUM(s.total_price) as yearly_revenue FROM dw_fact_sales s GROUP BY EXTRACT(YEAR FROM s.sale_date) ) SELECT * FROM aggregated_sales WHERE yearly_revenue > 1000000; ``` 综上所述,这三个组件各自扮演着不可或缺的角色——从最初的即时捕获直至最终呈现给用户的决策依据,构成了完整的数据流转链条。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值