数据湖、大数据的下一次变革

Delta Lake、Hudi、Iceberg

数据湖基础篇:
ACID和事务处理
数据湖的发展历程和现状
湖仓一体架构
Delta Lake技术篇:
Delta Lake的发展历程和现状
Delta Lake架构和原理
Delta Engine
Delta Lake企业实践

事务
事务:事务是并发控制的基本单位,事务处理就是将多个更新命令作为一个整体来执行,从而
保证数据整合性的机制。
事务具有ACID特性:
• 原子性(Atomicity)
原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。
• 一致性(Consistency)
事务前后数据的完整性必须保持一致。
• 隔离性(Isolation)
事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作
数据所干扰,多个并发事务之间要相互隔离。
• 持久性(Durability)
持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障
也不应该对其有任何影响

事务内部动作
• 事务处理的机制简单说就是留下更新日志,数据库会根据这些日志信息,在必要时将
旧的数据取回,或者在发生错误时将数据恢复到原先的状态。与事务处理相关的日志
可以分为UNDO日志和REDO日志。
• UNDO日志又被称为回滚段(Rollback Segment),在进行数据的插入、更新和删
除等场合,保存变更前的数据。
• REDO日志根据数据库的不同有时被称为事务处理日志或者日志。REDO日志提供了数
据恢复用的手段。
• 数据库在执行更新或者变更时,并非立即更新数据文件,而是首先在被称为缓存(
Buffer Pool)的内存空间中进行数据的更新,并同时将这些数据保存到UNDO日志文
件中。
• 事务要求之一是持久性(Durability),为了防止在内存中修改但尚未写入到磁盘的
数据,在发生故障重启数据之后产生事务未持久化到磁盘的情况。REDO 日志可以在
故障重启之后实现“重做”,保证了事物的持久化的特性

数据库到四种锁
从数据库系统的角度来看,锁分为共享锁和排他锁,从程序员的角度看,锁分为悲观锁
和乐观锁。
• 共享锁(读锁)
共享锁锁定的资源可以被其它用户同一时刻并发的读取同一资源,互不干扰,但其它用户不能修
改它。在SELECT命令执行时,数据库通常会对对象进行共享锁锁定。
• 排他锁/独占锁(写锁)
独占锁锁定的资源只允许进行锁定操作的程序使用,其他任何对它的操作均不会被接受。执行数
据更新命令,即INSERT、UPDATE或DELETE命令时,数据库会自动使用独占锁。
共享锁可以一层套一层地上锁,但排他锁只能加一个。
所谓共享锁、排他锁其实均是锁机制本身的策略,通过这两种策略对锁做了区分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术学习分享

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值