更新时间:2024-11-12 GMT+08:00
Astore简介
Astore与Ustore的多版本实现最大的区别在于最新版本和历史版本是否分离存储。Astore不进行分离存储,而Ustore当前也只是分离了数据,索引本身没有分开。
使用Astore的优势
- Astore没有回滚段,而Ustore有回滚段。对于Ustore来说,回滚段是非常重要的,回滚段损坏会导致数据丢失甚至数据库无法启动的严重问题,且Ustore恢复时同步需要Redo和Undo。由于Astore没有回滚段,旧数据都是记录在原先的文件中;所以,当数据库异常crash后恢复时,不会像Ustore数据库那样进行复杂的恢复。
- 由于旧的数据是直接记录在数据文件中,而不是回滚段中,所以不会经常报Snapshot Too Old错误。
- 回滚可以很快完成,因为回滚并不删除数据。
回滚时很复杂,在事务回滚时必须清理该事务所进行的修改,插入的记录要删除,更新的记录要更新回来,同时回滚的过程也会再次产生大量的Redo日志。
- WAL日志要简单一些,仅需要记录数据文件的变化,不需要记录回滚段的变化。
- 支持回收站(闪回DROP、闪回Truncate)功能。
父主题: Astore存储引擎