为了性能,Falcon使用一个组提交系统保证所有到序列日志的未决更新同时写入到磁盘.Falcon能够有多个活动事务,但只有一个事务写入所有的未决更新到磁盘上的序列日志文件.减少磁盘的些操作数,改善序列日志的总体性能.
例如
1. 事务1提交,创建所有需要的日志项并开始写入日志到磁盘.
2. 当事务1提交正在被写入时,事务2和事务3写入它们的日志项到序列日志.
3. 一旦事务1结束了物理写入操作,事务2或事务3写入它们在内存中未写入的日志部分到磁盘,因为两个事务在最后一次序列日志磁盘写入时发生,这两个事务的信息被同时写入到磁盘.
4. 当事务2和事务3正在写入时,事务4,5和6写入到内存的中的日志,当事务2和事务3的物理写入操作完成时,事务4,5和6的日志项开始被写入磁盘.
上面的过程的结果是只有三个到磁盘的物理写入操作,即使是顺序发生的6个事务:
例如
1. 事务1提交,创建所有需要的日志项并开始写入日志到磁盘.
2. 当事务1提交正在被写入时,事务2和事务3写入它们的日志项到序列日志.
3. 一旦事务1结束了物理写入操作,事务2或事务3写入它们在内存中未写入的日志部分到磁盘,因为两个事务在最后一次序列日志磁盘写入时发生,这两个事务的信息被同时写入到磁盘.
4. 当事务2和事务3正在写入时,事务4,5和6写入到内存的中的日志,当事务2和事务3的物理写入操作完成时,事务4,5和6的日志项开始被写入磁盘.
上面的过程的结果是只有三个到磁盘的物理写入操作,即使是顺序发生的6个事务:
1) 事务 1
2) 事务 2 和 3
3) 事务 4, 5 和 6
继续这个过程,自上次写入操作以来仅有一个事务写入内存序列日志项到磁盘.这整个系统确保内存和磁盘中的日志保持同步,把磁盘的物理写入数量减少到最小.