9

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

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

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

我的典型谷歌搜索返回更多关于已经提供 ACID 语义的系统的信息,而不是如何去实现这样的系统。

4

3 回答 3

6

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

  1. 白羊座的维基百科
  2. 白羊座纸
于 2009-01-23T19:13:25.203 回答
1

如果你懂德语,我会推荐

  • Alfons Kemperer: Datenbanksysteme - Eine Einführung, ISBN 3486576909

“Einführung”,意思是“介绍”,是一种严重的轻描淡写。这本书有几章介绍了如何物理布局数据、WAL(预写日志记录)、可序列化与不可序列化的历史记录、失败后重新启动等等。

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

于 2009-01-23T20:55:37.367 回答
0

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

另外,我建议考虑为内存缓存和磁盘数据使用部分持久的数据结构。它允许读取器永远不会被写操作阻塞。

有关我正在处理的数据库,请参见http://bergdb.com/ 。请随时与我联系以讨论这个有趣的话题。/ 弗兰斯·伦德伯格

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

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

于 2013-12-13T12:48:52.910 回答