站长蚂蚁论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: 活动 交友 discuz
楼主: gydtep2002

免费领取阿里云大礼包3150元+新客享0.26折起优惠

[复制链接]

4

主题

1615

帖子

6451

积分

老年蚂蚁

Rank: 10Rank: 10Rank: 10

积分
6451
 楼主| 发表于 2022-11-15 08:25:45 | 显示全部楼层
用row_undo_search_clust_to_pcur定位到对应的ROW, 分别调用row_undo_ins_remove_sec_rec和row_undo_ins_remove_clust_rec在二级索引和主索引上将当前行删除。
回复

使用道具 举报

4

主题

1615

帖子

6451

积分

老年蚂蚁

Rank: 10Rank: 10Rank: 10

积分
6451
 楼主| 发表于 2022-11-16 20:34:07 | 显示全部楼层
每个事务其实会修改一组的Record,对应的也就会产生一组Undo Record,这些Undo Record收尾相连就组成了这个事务的Undo Log。除了一个个的Undo Record之外,还在开头增加了一个Undo Log Header来记录一些必要的控制信息,因此,一个Undo Log的结构如下所示:
回复

使用道具 举报

4

主题

1615

帖子

6451

积分

老年蚂蚁

Rank: 10Rank: 10Rank: 10

积分
6451
 楼主| 发表于 2022-11-17 08:09:35 | 显示全部楼层
索引中的同一个Record被不同事务修改,会产生不同的历史版本,这些历史版本又通过Rollptr穿成一个链表,供MVCC使用。如下图所示:
回复

使用道具 举报

4

主题

1615

帖子

6451

积分

老年蚂蚁

Rank: 10Rank: 10Rank: 10

积分
6451
 楼主| 发表于 2022-11-18 09:07:44 | 显示全部楼层
而对于像Undo Log 3这种比较长的Undo Log可能会分配多个Undo Page来存放。需要注意的是Undo Page的复用只会发生在第一个Page。
回复

使用道具 举报

4

主题

1615

帖子

6451

积分

老年蚂蚁

Rank: 10Rank: 10Rank: 10

积分
6451
 楼主| 发表于 2022-11-19 10:09:20 | 显示全部楼层
所谓历史版本就是假设在该只读事务开始的时候对整个DB打一个快照,之后该事务的所有读请求都从这个快照上获取。当然实现上不能真正去为每个事务打一个快照,这个时间空间都太高了。
回复

使用道具 举报

4

主题

1615

帖子

6451

积分

老年蚂蚁

Rank: 10Rank: 10Rank: 10

积分
6451
 楼主| 发表于 2022-11-20 19:29:00 | 显示全部楼层
当一个Page写满后,会调用trx_undo_add_page来在当前的Undo Segment上添加新的Page,新Page写入Undo Page Header之后继续供事务写入Undo Record,为了方便维护,
回复

使用道具 举报

4

主题

1615

帖子

6451

积分

老年蚂蚁

Rank: 10Rank: 10Rank: 10

积分
6451
 楼主| 发表于 2022-11-21 07:34:38 | 显示全部楼层
本文开始已经介绍过了具体的Undo Record内容。简单的讲,insert类型会记录插入Record的主键,update类型除了记录主键以外还会有一个update fileds记录这个历史值跟索引值的diff。之后指向当前Undo Record位置的Rollptr会返回写入索引的Record上。
回复

使用道具 举报

4

主题

1615

帖子

6451

积分

老年蚂蚁

Rank: 10Rank: 10Rank: 10

积分
6451
 楼主| 发表于 2022-11-22 09:15:42 | 显示全部楼层
调用trx_purge_get_next_rec遍历对应的Undo Log,处理每一条Undo Record。之后继续调用trx_purge_rseg_get_next_history_log从purge_queue中获取下一条trx_no最小的Undo Log,
回复

使用道具 举报

4

主题

1615

帖子

6451

积分

老年蚂蚁

Rank: 10Rank: 10Rank: 10

积分
6451
 楼主| 发表于 2022-11-23 08:02:51 | 显示全部楼层
通过碳排放测算和绿色物流各环节的信息化盘查,在2021年天猫双11期间推出了物流行业首个“个人减碳账单”,并在6万个菜鸟驿站发起“快递包装回收 全面换鸡蛋”、1
回复

使用道具 举报

4

主题

1615

帖子

6451

积分

老年蚂蚁

Rank: 10Rank: 10Rank: 10

积分
6451
 楼主| 发表于 2022-11-24 07:56:45 | 显示全部楼层
丢包等二十余项传输技术,保障了多种弱网场景下的音视频体验,音视频清晰度、卡顿率等核心体验指标均有所提升,视频卡顿率下降达80%,在极端弱网场景下表现尤为突出。
回复

使用道具 举报

关闭

站长推荐上一条 /1 下一条

QQ|Archiver|手机版|小黑屋|站长蚂蚁-站长之家 ( 赣ICP备15000807号

GMT+8, 2024-7-21 06:42

Powered by 蚂蚁站长论坛

© 2007-2024 bbs.jzmayi.com

快速回复 返回顶部 返回列表