3
、一个事务操作过程图示
若在
!
的时间点,系统故障,那么重启时从
日志文件中遍历得到最后一个
即
+(
,(
),
)
-
,得到活跃的事务为
(
,大于
)
的事务都未提交。分析到这里恢复就
完成,即可接受新事务。
但是磁盘上的脏数据怎么处理?会启用一个单独的回收线程,扫描表中记录,若记录的时
间戳大于
)
,比如事务
的记录,他是不可见的,即将它回收掉;对于
,',,)
都是可见的,
不做处理,对于
(
,他在组提交未提交的事务链表里,也将它回收掉。
4
、缺点及疑惑
)文中没有详细说明记录是如何回收的,是后续事务访问到进行判断处理,还是说只是另
外回收线程全部扫描进行判断。数据量如果特别大的话,扫描的代价岂不是很大?全部扫
描完后,才将不用的
回收掉?
)如果在高可用场景下,无法满足要求,仍然需要相应的
$
进行复制
'
)后续的可见性判断比较复杂,文中没有详细说明
原文及参考
./0012102020''34516
./007811009000
.7/0010400*04$4
评论