我有一个应用程序,我想以原子方式执行某些操作。但是,这些操作发生在远程存储上,连接可能会断开,操作可能会失败,等等。
有很多关于如何执行ACID属性的文献--预写日志、ARIES等等--但是有没有这些属性的通用实现呢?
本质上,我正在寻找的是一些库/API等,在那里我可以提供一些稳定的存储(例如本地硬盘)用于日志记录,并执行我的部分操作(在不稳定的远程存储上),并让这个假设的助手代码处理大部分ACID记账。
显然,我需要提供自己的自定义代码回滚某些东西,但似乎可以在某个库中概括和包装执行日志记录、扫描日志等高级工作。
这样的事情真的存在吗?
发布于 2010-08-28 20:33:01
在C#中,System.IO.Log名称空间具有与日志相关的帮助器,这些帮助器可能与您所寻找的很接近,尽管它本身不会直接帮助隔离。如果你使用LogRecordSequence,你会得到一个相当复杂的日志实现。
此外,sqlite可以完成所有这些工作,并且是在公共领域中。我想它的存储引擎等会有些分离,尽管你可能不得不自己拆开它。
https://stackoverflow.com/questions/2609854
复制相似问题