实施ACID

时间:2009-01-23 19:09:05

标签: acid

我正在开始研究需要在其数据库上提供ACID语义的项目。

由于数据的性质,它不适合存储在常见的现成系统(关系或键值)中。

如何实现必须提供ACID语义的系统有哪些好的资源?

我的典型Google搜索会返回有关已提供ACID语义的系统的更多信息,而不是如何实现此类系统。

4 个答案:

答案 0 :(得分:6)

ARIES是一种用于实现ACID数据库的流行算法(例如,SQL Server使用此算法)。

  1. Wikipedia on ARIES
  2. The ARIES paper

答案 1 :(得分:2)

Timothy Leary - 如何操作你的大脑

http://www.youtube.com/watch?v=SQq_XmhBTgg

答案 2 :(得分:1)

如果你懂德语,我建议

  • Alfons Kemperer:Datenbanksysteme - EineEinführung,ISBN 3486576909
“Einführung”,意思是“引言”,是一个严重的缺陷。本书有几章介绍如何实际布局数据,WAL(提前写入日志记录),可序列化与非可序列化的历史记录,故障后重启等等。

但是,我怀疑你真的想写那样的东西。我是否需要提醒您,理论上您可以在关系模型之上建模任何数据结构?

答案 3 :(得分:0)

看看乐观并发。使用STM(软件事务内存)方法而不是锁定。实施起来更快,更容易。您可以使用SERIALIZABLE隔离级别每秒进行10,000或100,000次ACID事务。无需放松交易的隔离属性。

另外,我建议考虑对内存缓存使用部分持久数据结构,也可能考虑使用磁盘数据。它允许从未被写入操作阻止的读者。

有关我正在处理的数据库,请参阅http://bergdb.com/。请随时与我联系,讨论这个有趣的话题。 / Frans Lundberg

对于我对不明确的ACID属性的看法:

http://blog.franslundberg.com/2013/12/acid-does-not-make-sense.html