数据仓库(Data Warehouse)和数据湖(Data Lake)

2019-12-15大约17分钟

数据在企业中的战略地位逐渐升高,而谈到数据,就肯定会涉及到如何获取、管理数据。对小企业来说,一般情况就是用开源的数据库(比如MySQL,PostgreSQL等)或商业数据库(如Oracle, SQL Server)搭对外或对内的系统,而利用这些成熟的数据库系统管理数据就是最常见的数据管理方式了。但随着我们日益对数据获取和分析的需求不断提升,简单的数据库已经远远不能满足我们的需求。因此就出现了一些新的术语,比如数据湖(Data Lake)数据仓库(Data Warehouse)。这两个词听起来用途挺像的,到底有什么区别吗?

**什么是数据仓库(Data Warehouse)? **

数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。它是企业对大量信息的存储,用于查询和分析,而不是事务处理。这是一个将数据转换为信息的过程。

什么是数据湖(Data Lake)?

数据湖是一个集中式存储库,允许您以任意规模存储所有结构化和非结构化数据,包括可以按原样存储数据(无需先对数据进行结构化处理。它提供了高数据量,以提高分析性能和本机集成。

数据湖就像一个大容器,非常类似于真正的湖泊和河流。就像在湖里,你有多个支流进来。一个数据湖有结构化数据,非结构化数据,机器到机器,日志实时流动。

数据湖与数据仓库对比:

根据要求,典型的组织将需要数据仓库和数据湖,因为它们可满足不同的需求和使用案例。

数据仓库是一个优化的数据库,用于分析来自事务系统和业务线应用程序的关系数据。事先定义数据结构和 Schema 以优化快速 SQL 查询,其中结果通常用于操作报告和分析。数据经过了清理、丰富和转换,因此可以充当用户可信任的“单一信息源”。

数据湖有所不同,因为它存储来自业务线应用程序的关系数据,以及来自移动应用程序、IoT 设备和社交媒体的非关系数据。捕获数据时,未定义数据结构或 Schema。这意味着您可以存储所有数据,而不需要精心设计也无需知道将来您可能需要哪些问题的答案。您可以对数据使用不同类型的分析(如 SQL 查询、大数据分析、全文搜索、实时分析和机器学习)来获得见解。

随着使用数据仓库的组织看到数据湖的优势,他们正在改进其仓库以包括数据湖,并启用各种查询功能、数据科学使用案例和用于发现新信息模型的高级功能。Gartner 将此演变称为“分析型数据管理解决方案”或“DMSA”。

特性 数据湖 数据仓库
存储 数据湖中,所有的数据,不管源及数据结构如何,都会保留。数据会以原始形式保存,只有当要使用它时才会做转换 数据仓库中包含来自事物系统或包含定量指标的数据,数据存储的时候已经做了清理和转换
历史 使用的大数据技术相对较新。 数据仓库使用的概念,已经有几十年的历史
数据获取 来自 IoT 设备、网站、移动应用程序、社交媒体和企业应用程序的非关系和关系数据 来自事务系统、运营数据库和业务线应用程序的关系数据
数据质量 任何可以或无法进行监管的数据(例如原始数据) 可作为重要事实依据的高度监管数据
数据时间线 数据湖可以保留所有数据。这不仅包括正在使用的数据,还包括将来可能使用的数据。此外,数据被保留所有的时间,回到时间,并做一个分析。 花费大量时间分析各种数据源。
存储成本 使用大数据技术存储数据的成本,相对来说比存在数据仓库里面的成本要低 在数据仓库中存储数据,既昂贵又是耗费时间
Schema 写入在分析时(读取型 Schema) 设计在数据仓库实施之前(写入型 Schema)
用户 数据科学家、数据开发人员和业务分析师(使用监管数据) 业务分析师
分析 机器学习、预测分析、数据发现和分析 批处理报告、BI 和可视化
抱怨 数据是以原始形式去保存的,只有在使用的时候才做转换 在尝试更改数据仓库时,无法进行处理,或者遇到的问题。
主要优势 集成了不同类型的数据,可以用来发现更多的价值 组织中的大多数用户都是可操作的。这些类型的用户只关心报告和关键性能指标。