数据仓库概要

什么是数据仓库?

数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。

核心特征

1. 面向主题

数据仓库围绕核心业务主题 (如客户、产品、销售、财务)来组织数据,而不是围绕具体的业务流程或应用系统。这与操作型数据库 (如订单处理系统)不同,后者是面向事务 的。

2. 集成

数据仓库中的数据来源于多个分散的操作型系统(如ERP、CRM、日志文件等)。这些数据在进入数据仓库之前,会经过清洗、转换、整合,消除不一致性,形成统一的命名、编码和格式。

3. 相对稳定

数据仓库一旦存入数据,通常不会被修改或删除,主要是进行数据的查询和分析。这反映了读多写少的特性。操作型数据库则需要频繁地进行增删改查。

4. 反映历史变化

数据仓库会长期保留历史数据(例如5-10年),以便进行趋势分析、预测未来。而操作型数据库通常只保留当前或近期的数据。

核心架构与组成

1. 数据源

如:业务数据库(MySQL, Oracle)、日志文件、API接口、外部数据等。

2. 数据抽取、转换、加载

  • 抽取 Extract:从数据源获取数据。
  • 转换 Transform:清洗无效数据、转换格式、统一标准、进行业务计算(这是最复杂的一步)。
  • 加载 Load:将转换后的数据加载到数据仓库的目标表中。

3. 数据存储与管理

  • 这里存储着细节数据、轻度汇总数据和高度汇总数据。
  • 通常采用维度建模,构建星型模型或雪花模型,核心是事实表和维度表。
    • 事实表:存储业务过程的度量值(如销售金额、销售数量),主要是数值型数据。
    • 维度表:存储描述事实的业务上下文(如时间、地点、产品、客户),主要是文本型数据。

4. 数据服务/应用层

工具包括:BI工具(如 Tableau, FineBI, Power BI)、即席查询工具、报表系统等。

相关概念与技术

ETL vs. ELT

  • ETL 抽取 -> 转换 -> 加载:传统方式,在加载到仓库前进行转换。适合结构化数据和对数据质量要求极高的场景。
  • ELT 抽取 -> 加载 -> 转换:现代方式,先加载到仓库,然后利用仓库的强大计算能力进行转换。更适合处理海量、多结构的原始数据

OLTP vs. OLAP

  • OLTP (Online Transactional Processing) 联机事务处理:支持日常业务操作(增删改查),是数据的生产者,是业务数据的源头;代表系统 MySQL, PostgreSQL, Oracle
  • OLAP (Online Analytical Processing) 联机分析处理:支持复杂数据分析与决策;是数据的消费者,数据来自多个OLTP系统;Snowflake, BigQuery, Amazon Redshift, Apache Druid

数据集市

数据仓库的一个子集,通常为某个特定部门或特定业务领域(如财务、销售部)构建的微型数据仓库。它从数据仓库中获取数据,规模更小、主题更聚焦、访问更快。

现代数据栈:

  • 新一代的数据平台,通常基于云原生技术,组件更加解耦(增加独立性,降低依赖关系)和专业化。
    典型组成:Fivetran (Extract and Load) -> Snowflake/BigQuery (Storage/Compute) -> dbt (Transform) -> Tableau/Mode (BI)。
相关推荐
cg.family4 小时前
Doris 数据仓库例子
数据仓库·doris
TDengine (老段)4 小时前
从 ETL 到 Agentic AI:工业数据管理变革与 TDengine IDMP 的治理之道
数据库·数据仓库·人工智能·物联网·时序数据库·etl·tdengine
镜舟科技19 小时前
告别 Hadoop,拥抱 StarRocks!政采云数据平台升级之路
大数据·starrocks·数据仓库·hadoop·存算分离
YF云飞1 天前
数据仓库进化:Agent驱动数智化新范式
数据仓库·人工智能·ai
KANGBboy4 天前
hive udf 执行一次调用多次问题
数据仓库·hive·hadoop
来杯雀巢咖啡5 天前
ubantu安装配置hive
数据仓库·hive·hadoop
chad__chang7 天前
HIVE的Window functions窗口函数【二】
数据仓库·hive·hadoop
秉寒-CHO7 天前
5w2h构建数据仓库与sow
大数据·数据仓库