它seems to be possible实现利用象预写日志,两阶段提交和阴影分页等是否可以在“正常文件系统”上进行事务处理?
事实上,必须已经可以正常的技术文件系统之上事务,因为事务数据库引擎像InnoDB可以部署在普通文件系统之上。还有像XADisk这样的库。
然而,Apache Commons Transaction状态:
......我们深信,主要宣传的功能,事务性文件访问不能可靠地实现。我们确信在普通文件系统之上不可能有这样的实现。 ...
为什么Apache Commons Transactions要求在普通文件系统上实现事务是不可能的?
是否不可能在正常文件系统上执行事务?
该项目明确指出,不可能不是由于范围和项目规模问题,而仅仅是因为没有办法**。至于你的例子,因为要求所有的调用都通过API,这10个文件不需要同时被删除。库只需确保通过API的调用将该操作视为原子单元。例如。如果操作系统崩溃了,那么当程序重新启动时,库会运行代码来完成10个文件的删除操作,或者从它的日志中恢复中途删除的文件。 – Pacerier 2014-11-23 17:44:21
@Pacerier。 。 。 OP的问题是为什么符合ACID标准的数据库可以在这个项目中说这是不可能的。 – 2014-11-23 20:31:31
是的,我的评论试图说它**是可能的,那么为什么项目的情况恰恰相反呢? – Pacerier 2014-11-23 21:17:27