首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >三角湖(deltalake)如何保证酸交易?

三角湖(deltalake)如何保证酸交易?
EN

Stack Overflow用户
提问于 2019-11-19 12:13:05
回答 1查看 228关注 0票数 2

DeltaTable使用什么机制来确保由用户在DeltaTable上的操作启动的事务的原子性、一致性、隔离性和持久性?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-19 12:13:05

0。the DeltaLog

Deltalog =Deltalog的事务日志。

deltalog是有序json文件的集合。它作为一个单一的真相来源,使用户能够访问DeltaTable状态的最后一个版本。

1.原子性

  • Delta将用户执行的每一项操作分解为提交,它们本身由操作组成。
  • 提交只记录在deltalog中,只要它的每个操作都成功完成(否则将被恢复和重新启动或引发错误),确保它的原子性

2.一致性

一致性是由DeltaTable的强模式检查来保证的。

3.孤立

对提交的并发性进行管理,以确保它们的隔离。采用了乐观的并发控制:

  • 当提交执行开始时,线程会快照当前的deltalog。
  • 当提交操作完成后,线程将检查Deltalog是否已由另一个更新:。
    • 如果没有,则将提交记录在deltalog中。
    • 否则,它将更新其DeltaTable视图,并在需要重新处理一步之后再次尝试注册提交。

4.耐久性

提交包含变异DeltaTable数据的操作,需要完成对底层Parquet文件(存储在文件系统上)的写入/删除,才能被视为成功完成,从而使它们成为持久的

进一步阅读:

https://databricks.com/blog/2019/08/21/diving-into-delta-lake-unpacking-the-transaction-log.html

酸性质

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58933866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档