在存储大数据时,数据湖和数据仓库都是既定术语,但是这两个术语不是同义词。数据湖是尚未确定用途的大量原始数据。另一方面,数据仓库是用于特定目的的结构化过滤数据的存储库。
共同点
数据仓库和数据湖代表了一个中央数据库系统,可以在公司中用于分析目的。该系统从各种异构数据源中提取,收集和保存相关数据,并提供给下游系统。
数据仓库可以分为四个子过程:
数据获取:从各种数据存储库中获取和提取数据。
数据存储:包括长期归档在内的数据仓库中的数据存储。
数据提供:向下游系统提供所需的数据,提供数据集市。
数据评估:对数据库存的分析和评估。
差异性
数据仓库将经典的ETL流程与关系数据库中的结构化数据结合使用,而数据湖则使用诸如ELT的范式和读取模式以及经常使用的非结构化数据[2]。
> Differences Data Warehouse vs. Lake
在上方,您可以看到主要区别。您使用的技术也完全不同。对于数据仓库,您将使用SQL和关系数据库,而对于数据湖,您可能将使用NoSQL或两者的混合。
将两者结合在混合数据湖中
那么如何将这两个概念结合起来?在下图中,您可以从高角度查看架构。
该过程是将非结构化和未转换的数据加载到数据湖中。从这里,一方面可以将数据用于ML和Data Science任务。另一方面,数据也可以转换为结构化形式并加载到数据仓库中。从这里,可以实现通过数据集市和(自助服务)BI工具进行的经典数据仓库分发。
> Hybrid Data Lake Concept — Image from Author
可以用于此体系结构的主要技术例如:
通过talend,Google Dataflow,AWS Data Pipeline进行ELT / ETL流程
通过Data Lake-HDFS,AWS Athena和S3,Google Cloud Storage
数据仓库通过-Google BigQuery,AWS Redshift,Snowflake
注意:诸如Google的BiqQuery或AWS Redshift之类的技术通常被视为数据仓库技术与数据湖技术之间的混合体,因为它们通常已经具有NoSQL的某些特征。
结论
本文介绍了如何使用混合数据湖。数据湖使您的公司能够灵活地以数据形式捕获业务运营的各个方面,同时保持传统数据仓库的生命周期。
原文链接:https://towardsdatascience.com/what-is-a-hybrid-data-lake-b7ef2c3cce0c