什么是数据仓库和数据湖?
数据仓库(Data Warehouse)是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合存储系统,数据仓库将来自不同来源的结构化数据聚合起来,用于业务智能领域的比较和分析。数据仓库是包含多种数据的存储库,并且是高度建模的。数据仓库的主要作用是实现跨业务条线、跨系统的数据整合,为管理分析和业务决策提供统一的数据支持。
数据湖(Data Lake)数据湖是一个存储企业的各种各样原始数据的大型仓库,其中的数据可供存取、处理、分析及传输。数据湖是企业所有数据的单一存储,包括源系统数据的原始副本,以及用于报告、可视化、分析和机器学习等任务的转换数据。数据湖能够包括来自关系数据库(行和列)的结构化数据,半结构化数据(CSV,日志,XML,JSON),非结构化数据(电子邮件,文档,PDF)和二进制数据(图像,音频,视频)。
数据仓库和数据湖有什么区别?
数据仓库和数据湖是两种不同的数据处理和存储理念,在应用场景、数据处理方式和价值应用等方面存在一些差异。
应用场景:数据仓库主要用于根据事先定义好的业务需求,针对业务流程进行的数据建模、数据整合和数据加工,主要用于监控基础数据、企业数据等。而数据湖是面对各类数据的存储、管理、集中到底层基础数据层,不仅处理实时的流数据、结构化数据、非结构化数据,还包括用于分析、调查等各种目的的数据。
数据处理方式:数据仓库通常在经过ETL(数据抽取、转化、加载)的过程后,将数据集成进入数据模型中,有固定的文档、格式、数据定义来描述数据,常常采用的是批量处理的方式。而数据湖则更加灵活,采用了一种“存储-计算分离”的数据存储方式,支持多种计算模型,如批处理、流处理、交互式查询、机器学习等。
数据处理速度和价值应用:数据仓库的主要价值在于固定的结构化数据对于某些业务非常有用,例如对基础数据的监控、报表、决策分析等等,可以提供相对成熟的数据管理体系。而数据湖的主要优势在于提供了更快、更广、更深入的数据探索、数据挖掘、信息发现等价值应用模型,适合大数据等一些具有高吞吐量、可扩展性强的应用场景。
