数据湖和数据仓库两者都广泛应用于大数据存储,但两者之间概念不可互换。数据湖是存储原始数据的池,目的仍没有明确。数据仓库存储结构化的、已过滤、处理的数据,用于特定分析目的。
两种数据存储架构经常被混淆,起始两者之间差异大于共性。事实上,唯一共性都为了存储海量数据。
了解两者区别很重要,因为它们服务于不同的目的,需要使用不同的视角进行理解。虽然数据湖适用于一家公司,但数据仓库应该更适合一家公司。
- 四个方面差异分析
两者有几个方面的差异:数据结构、用户群、处理方法以及数据的应用目的。
|
数据湖 |
数据仓库 |
数据结构 |
原始数据 |
处理过的数据 |
应用目的 |
仍未确定 |
当前正使用 |
用户群 |
数据科学家 |
商务人士 |
数据访问 |
高可访问性和快速更新 |
修改更复杂、成本高 |
- 数据结构:原始数据 vs. 已处理数据
原始数据是仍没有为特定目的处理过的数据。两者最大的差异是多样的原始结构和已处理的数据。数据湖主要存储原始的、未处理的数据,而数据仓库存储处理、提炼过的数据。
因此,数据湖较数据仓库一般需要更大的存储能力。另外,原始的、未处理数据适用性更强,可以服务与任何目的应用,尤其是机器学习。但有时数据湖收集所有原始数据的分险是变成数据沼泽,因为没有相应的数据治理和数据质量措施。
数据仓库仅存储处理过的数据。节约存储空间,并不维护可能永不使用的数据。另外,处理过的数据对大多数人来说比较容易理解。
- 目的:未确定 vs. 正在使用
数据湖中单个数据块的目的并不确定。原始数据流入数据湖,有时是为未来特定目的,有时仅为了手边有这样数据。这意味着数据湖的数据组织、过滤相较于数据仓库更少。
已处理的数据是针对特定目的来处理原始数据。因为数据仓库仅存储已处理的数据,所有在存储仓库中的数据用于特定目标而组织的。因此存储空间不会浪费。
- 用户群:数据科学家 vs. 商务人士
数据湖对不熟悉的人通常很难浏览未处理的数据,原始的、非结构化数据一般需要数据科学家使用特定工具为特定目的进行理解、翻译、分析。同时越来越多的数据湖信息自助访问工具也正在涌现。
- 可访问性:灵活性 vs. 安全性
可访问性和易用性是指整个数据存储库的使用,而不是其中的数据。数据湖数据没有结构,比较容易访问、改变。而且,任何对数据的改变能快速完成,因为数据湖几乎没有限制。
数据仓库是被设计的,更加结构化。数据仓库的主要优势为正在处理的结构化数据更容易描述,结构的限制使得数据仓库维护成本更高。
- 我该如何选择
一般组织两者都需要。数据湖诞生于利用大数据的需要,机器学习从原始、更细粒度结构和非结构化数据中受益,但仍然需要创建数据仓库供业务用户分析使用。