1

我有一个应用程序,我想以原子方式执行某些操作。但是,这些操作发生在远程存储上,连接可能会断开,操作可能会失败等。

有很多关于如何强制执行 ACID 属性的文献 - 预写日志记录、ARIES 等 - 但是是否有这些可用的通用实现?

基本上我正在寻找的是一些库/API/等。我可以在其中提供一些稳定的存储(例如本地硬盘)进行日志记录,并执行我的特定操作(在不稳定的远程存储上),并让这个假设的帮助代码处理大量的 ACID 簿记。

显然,我需要提供我自己的自定义代码来回滚某些事情等等,但似乎可以将高级别的日志记录、扫描日志等可以概括并包装在某个库中。

这样的事情存在吗?

4

1 回答 1

1

在 C# 中,System.IO.Log命名空间具有与日志相关的帮助程序,这可能与您正在寻找的内容很接近,但它本身并不能直接帮助隔离。如果你使用 LogRecordSequence,你会在它下面得到一个非常复杂的日志实现。

此外, sqlite完成了所有这些工作,并且属于公共领域。我想它的存储引擎等会有些分离,尽管你可能不得不自己把它拆开。

于 2010-08-28T12:33:00.500 回答