什么是数据湖
数据湖是一个存储企业各种各样原始数据的大型仓库,其中的数据可供存取、处理、分析及传输。数据湖从企业的多个数据源获取原始数据,并且针对不同的目的,同一份原始数据还可能有多种满足特定内部模型格式的数据副本。因此,数据湖中被处理的数据可能是任意类型的信息,从结构化数据到完全非结构化数据。
数据湖的核心原则是集中存储原始的、未经改变的全量数据,在提取数据时才进行转换。数据湖存储各种类型数据,重点是非结构化和半结构化数据,通过统一视图提供开放访问。
此外,数据湖是一个集中式存储库,允许您以任意规模存储所有结构化和非结构化数据。您可以按原样存储数据(无需先对数据进行结构化处理),并运行不同类型的分析,从控制面板和可视化到大数据处理、实时分析和机器学习,以指导做出更好的决策。
数据湖还具备强大的元数据管理能力,保证所存储数据资源的语义一致性,这是进行大数据分析的基本前提。数据湖的设计可以扩展到处理PB级别的数据,企业可以存储更多的数据,并且可以在需要时对这些数据进行探索和分析,从而支持大数据存储和分析。
数据湖和数据仓库的区别
-
数据结构:
- 数据仓库通常存储经过清洗、结构化和整合的数据,以支持企业的报表、分析和决策需求。它采用了模式化的数据存储方式,通常使用星型或雪花模式来组织数据。
- 数据湖则是一种存储大量原始、未经处理的数据的系统,这些数据可以是结构化的、半结构化的或非结构化的。数据湖不要求提前对数据进行模式化或结构化,提供了一种灵活的存储方式。
-
数据处理方式:
- 数据仓库的数据在加载过程中通常进行了清洗和整合,提高了数据的质量和一致性,适用于处理结构化的、规范化的数据。
- 数据湖允许存储各种形式的数据,无需事先定义模式,重点是非结构化和半结构化数据,通过统一视图提供开放访问。
-
数据使用场景:
- 数据仓库主要用于支持报表、分析和决策需求,因此适用于结构化的数据和固定的查询模式。
- 数据湖更适用于需要处理原始、未加工数据的场景,例如机器学习、数据科学等。
-
数据访问和查询:
- 数据仓库提供了优化的查询性能,适用于频繁的、结构化的查询操作。
- 数据湖在数据访问和查询方面可能不如数据仓库高效,因为它通常存储了大量的原始数据,需要在查询时进行更多的数据处理和计算。
-
数据治理和质量:
- 数据仓库中的数据都是经过处理的,通常是格式化的高质量数据,非常重视数据质量管理。
- 数据湖由于缺少模式,允许所有数据都输入,数据可能是任意状态、形态的数据,因此数据湖包含较低级别的数据质量。
-
存储容量和成本:
- 数据仓库对存储的数据更有选择性,一般比数据湖要小,但与传统数据库相比仍然很大。
- 数据湖由于包含所有数据,通常是PB级别的,具有低成本存储优势,可以很容易地做到数据的分层来降低数据保存成本。
-
敏捷性和灵活性:
- 数据仓库的本质是高度结构化的,用于存储特定的数据格式并回答特定的问题,因此在敏捷性方面不如数据湖。
- 数据湖不需要等待很长的开发周期就能满足数据洞察的需求,具有很高的敏捷性。
-
用户和应用:
- 数据仓库的主要使用对象是数据分析师、数据工程师、运营人员等。
- 数据湖的主要使用对象是数据科学家,因为它们处理的是原始数据,非结构化数据的数据库。
-
构建和维护:
- 数据仓库的构建和维护通常需要较多的精力来定义系统元素,并且需要明确的责任和关注点隔离。
- 数据湖可以实现数据的集中式管理,并且结合先进的数据科学与机器学习技术,帮助企业构建优化后的运营模型。
-
技术和工具:
- 数据仓库工具通常针对结构化数据和特定的查询模式进行优化。
- 数据湖工具则需要支持多种数据类型和更复杂的数据处理流程,如Hadoop等。