0%

数据湖与数据仓库

数据湖

数据湖是一种数据存储结构,可以存储任何类型的数据,包括像图片文档这样的非结构化数据,数据湖通常更大,成本更为廉价。存储其中的数据不需要满足特定的schema,数据湖也不会尝试去将特定的schema施行其上。相反的是,数据的拥有者通常会在读取数据的时候解析schema(schema-on-read),当处理相应的数据时,将转换施加其上。

ODS和数据湖有两个共同的重要特征:不加转换的原始数据,可以进行不预先设置的分析。ODS一般用来存储业务运营数据,也就是OLTP(联机事务处理)数据的快照和历史,而数据仓库一般用来存储分析数据,对应OLAP(联机分析处理)需求。

  • 存储海量的原始数据
  • 支持任意的数据格式(结构化、半结构化、非结构化)
  • 较强的分析和处理能力

数据仓库

它主要存储的是以关系型数据库组织起来的结构化数据。数据通过转换、整合以及清理,并导入到目标表中。在数仓中,数据存储的结构与其定义的schema是强匹配的。

  • 面向主题:按照一定的主题域进行组织。主题是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相关
  • 不可更新:数据仓库主要是为决策分析提供数据,所涉及的操作主要是数据的查询
  • 非规范化:数据可以是而且经常是冗余的
  • 大容量:时间序列数据集合通常都非常大
  • 效率高:通过表结构优化、存储优化等手段,提升查询效率
名称 数据仓库 数据湖
读写模式 写时模式,数据存储前定义Schema 读时模式,读取数据时定义Schema
数据价值 提前明确 无须提前明确
存储数据类型 清洗后的结构化数据 原始数据、非结构化和半结构化数据
容量扩展成本 中等成本 低成本
支持功能 统计、报表和传统 BI分析 敏捷数据集成,支持编程框架
构建成本 重量级,时间成本高、投资规模大 轻量级,比较灵活,成本低

数据仓库中的数据由原始数据经过清理、填充和转换后按照核心业务逻辑组织生成。