
Delta Lake是一个基于云对象存储的表存储工具,它实现了lakehouse的构想。Delta Lake可以解决工业领域数据产生,获取,分析等涵盖企业数据分析场景下,数据生命周期内的所有问题,因而有着广阔的使用前景。
在之前的博客Delta Lake调研:Delta Lake是什么
中介绍了Delta Lake: High-Performance ACID Table Storage over Cloud Object Stores中对于Delta Lake工具的介绍。Delta Lake部分实现了Lakehouse构想。本篇博客将对比Lakehouse和data warehouse以及data lake的区别进一步介绍Delta Lake。通过对比Lakehouse和二者的关系,可以了解Delta Lake有什么优势。
目录
Data Warehouse
数据仓库的提出晚于大部分人所熟知的数据库,它同样是数据存储的地方。只不过与数据库面向业务的特性相比,数据仓库存储的数据面向比业务更粗粒度的主题,处理的任务偏向数据分析而并非数据操作。解决问题不同是数据库与数据仓库之间最大的区别。
例如当用户登陆淘宝时,用户输入的用户账号和密码会与后台数据库存储的数据进行比对,当结果匹配时,则用户可以正常登录淘宝,否则就不能。这里举的例子就是数据库的经典使用场景。数据库大多针对OLTP提出。
数据仓库的使用者大多是分析数据的BI users,多用于对大量数据进行数据分析这是与数据库的一个重要区别。
数据仓库的数据分四层存储,分别是ODS层(Operational Data Store),PDW层(Personal Data Warehouse),DM层(Data Marts)和APP层(Application)。其中ODS层负责存储未经处理的原始数据
Data Warehouse的四层结构
ODS
ODS层存储细节数据,是datawarehouse中最接近数据源的一层。数据源中的数据经过ETL操作(Extract抽取、Transform转换、Load加载)后进入本层。ODS层的数据是定义统一的,可以体现历史的,被长期保存的。这一层的数据一般不做过多去躁处理,且数据的分类多基于业务逻辑。
PDW
PDW层是基础指标层,经过初步处理生成的ODS层数据在PDW层进行主题汇总。这一层同时创建各个主题包含哪些属性。
PDW中的数据需要定期进行质量审核,保证权威准确;DW中的数据只允许增加,不允许删除和修改。这一层的数据应该是一致的、准确的、干净的数据,即对源系统数据进行了清洗(去除了杂质)后的数据。这一层的数据一般是遵循数据库第三范式的,其数据粒度通常和ODS的粒度相同。在PDW层会保存BI系统中所有的历史数据,例如保存10年的数据。
DM
DM层以某个业务应用为出发点而建设的局部PDW。DM只关心自己需要的数据,不会全量考虑企业整体数据架构和应用,每个应用有自己的DM。 数据集市就是满足特定的部门或者用户的需求,按照多维的方式
进行存储,包括定义维度、需要计算的指标、维度的层次等,生成面向决策分析需求的数据立方体(data cube)。
这层数据是面向主题来组织数据的,通常是星形或雪花结构的数据。从数据粒度来说,这层的数据是轻度汇总级的数据,已经不存在明细数据了。从数据的时间跨度来说,通常是 DW 层的一部分,主要的目的是为
了满足用户分析的需求,而从分析的角度来说,用户通常只需要分析近几年(如近三年的数据)的即可。
从数据的广度来说,仍然覆盖了所有业务数据。一个星型结构包含两个基本部分:一个事实表和各种支持维表。
APP
APP层直接面对数据分析者,因而需要着一层的数据是干净且高度结构化的。这一层的数据最终可以导入到数据库中以备分析使用。
Data Lake
数据湖与数据仓库不同,它可以存储来自业务线应用的关系数据以及来自移动应用程序、loT设备和社交媒体的非关系数据。数据湖可以存储的数据种类相较于数据仓库会更为丰富。在向数据湖存入数据时,无需定义数据结构和数据模式,因而也无需对未来用这份数

本文对比了DataWarehouse、DataLake和DeltaLake(Lakehouse)的特性,探讨了数据仓库的四层结构,强调了数据湖的灵活性以及DeltaLake作为Lakehouse实现的高管理性能。DeltaLake在云对象存储上的应用,结合了数据仓库的强一致性和数据湖的灵活性,解决了数据质量和实时性问题,为企业数据分析提供了高效解决方案。
最低0.47元/天 解锁文章
1458





