Delta Lake: High-Performance ACID Table Storage over Cloud Object Stores(阅读笔记)

1.什么是云对象存储?

        云对象存储是云存储中的一种方式。主要适用于存储和管理大量非结构化数据。数据以对象的形式存储,每个对象都包含了数据本身、元数据以及一个全局唯一的标识符,使数据更易于访问和管理。(平台:Amazon S3、微软 Azure Blob、 阿里云 OSS等)

2.什么是云存储?

        云存储是一种数据存储在远端服务器集群在线访问的存储类型,用户无需关注存储位置。

        云储存有三种存储类型:对象存储、文件存储、块存储。(三种方式

3.Delta Lake

3.1 什么是Delta Lake?

        Delta Lake 是一个开源的存储层,可以为数据湖带来了可靠性。Delta Lake 提供了ACID事务、可伸缩的元数据处理以及统一的流和批数据处理。它运行在现有的数据湖之上,且与 Apache Spark API完全兼容。(懵)

3.2 为什么会有Delta Lake?

        由于云对象存储是以键值存储很难实现ACID事务和高性能。所以提出Delta Lake用来解决云对象存储存在的不足之处。 

3.3 Delta Lake 是如何解决的?

        The core idea of Delta Lake is simple: we maintain information about which objects are part of a Delta table in an ACID manner, using a write-ahead log that is itself stored in the cloud object store.

        Delta Lake的核心思想简单:我们以ACID事务的方式 维护 哪一个对象属于那一张表的信息,通过预先写日志的方式同时将日志也同时存储在对象存储中。

3.4 Delta Lake的存储格式

        Delta Lake 的每一张表的内容以Parquet格式进行存储。这种数据格式与多种数据处理框架兼容,是大数据生态系统中广泛采用的格式。

3.5 Delta Lake 的高级特性

        Delta Lake的事务设计提供了广泛的高级数据管理功能,类似于传统DBMS中的许多功能。

3.5.1 Time Travel 

        因为Delta Lake的数据对象和日志是不可变的,所以使用Delta Lake可以直接查询数据的过去快照,回到那个时间节点。

3.5.2 Efficient UPSERT, DELETE andMERGE

        在传统的数据湖存储格式中,很难在不停止并发读取器的情况下执行这些更新。因为作业期间的失败将使表处于部分更新状态。而使用Delta Lake,所有这些操作都可以以事务方式执行,通过Delta日志中的新添加和删除记录替换任何更新的对象。

3.5.3 Data Layout Optimization

        数据布局对分析系统中的查询性能有很大的影响,由于Delta Lake可以以事务方式更新表的数据结构,因此它可以支持各种布局优化,而不会影响并发操作。

3.5.4 Schema Evolution and Enforcement

        长时间维护的数据集通常需要架构更新,Delta Lake可以以事务方式执行架构更改,并在需要时随着架构更改更新底层对象,同时在事务日志中保存架构更新的历史记录。

3.6 Delta Lake的一些应用场景

  • Data Engineering
  • BI
  • Machine Learning
  • Bioinformatics
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值