gydtep 发表于 2022-11-11 14:13:04
有独立App,有自营的物流体系,有自己的供应链体系,因此在自动化方面,我们从最基础的单元测试、到接口测试、再到领域场景自动化及跨领域的自动化以及端的自动化方面都有积累。gydtep 发表于 2022-11-11 18:26:21
也有一部分字段是离散且无意义的,如orderId订单ID,itemId商品id,GMTCreate创建时间等。特征提取的过程目标就是自动的提取出有意义的字段,忽略无意义的字段。gydtep 发表于 2022-11-12 06:01:19
本文将从其作用、设计思路、记录内容、组织结构,以及各种功能实现等方面,整体介绍InnoDB中的Undo Log,文章会深入一定的代码实现gydtep 发表于 2022-11-13 13:56:19
和空间空间较多,可以被后续复用的Insert类型Undo Segment。因此trx_undo_t对应的就是上面介绍过的Undo Segment。gydtep 发表于 2022-11-13 18:36:12
这个修改其实就是InnoDB的事务结束的标志,无论是Rollback还是Commit,在这个修改对应的Redo落盘之后,就可以返回用户结果,并且Crash Recovery之后也不会再做回滚处理。gydtep 发表于 2022-11-14 11:28:13
解析出其中记录的主键信息,如果是update类型,还会拿到一个update vector记录其相对于更新的一个版本的变化。gydtep 发表于 2022-11-14 15:58:47
在分配Undo Log的时候,需要重用Undo Log Header或需要创建新的Undo Log Header的时候,会分别记录MLOG_UNDO_HDR_REUSE和MLOG_UNDO_HDR_CREATE类型的Redo Record;gydtep 发表于 2022-11-15 10:17:08
多版本的目的是为了避免写事务和读事务的互相等待,那么每个读事务都需要在不对Record加Lock的情况下, 找到对应的应该看到的历史版本。所谓历史版本就是假设在该只读事务开始的时候对整个DB打一个快照gydtep 发表于 2022-11-15 16:21:02
图中的事务编号是按照InnoDB这里引入了一个堆结构purge_queue,用来依次从所有History List中找到下一个拥有最小trx_no的事务。gydtep 发表于 2022-11-16 14:03:30
既然已经有了在Crash Recovery时支持事务回滚的Undo Log,自然地,在正常运行过程中,死锁处理或用户请求的事务回滚也可以利用这部分数据来完成。