我开始研究一个项目,将需要提供其数据库的ACID语义。
由于数据的性质,它不适合在常见的现成系统(关系系统或键值系统)中存储。
关于如何实现必须提供ACID语义的系统,有哪些好的资源?
我典型的Google搜索返回了更多关于系统的信息,这些系统已经提供了ACID语义,而不是如何实现这样的系统。
发布于 2009-01-23 19:13:25
ARIES是实现ACID数据库的流行算法(例如,SQL Server使用此算法)。
发布于 2009-01-23 20:55:37
如果你懂德语,我建议你
"Einführung",意思是“介绍”,是一种粗略的轻描淡写。这本书有几章关于如何物理布局数据,WAL (预写日志),可序列化与不可序列化历史,失败后重新启动,等等。
不过,我怀疑你是否真的想写这样的东西。我需要提醒您,理论上您可以在关系模型之上对任何数据结构进行建模吗?
发布于 2013-12-13 20:48:53
看看乐观并发。使用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
https://stackoverflow.com/questions/474087
复制相似问题