在关系数据库中强制执行本地事务数据依赖性

时间:2019-01-05 02:59:33

标签: transactions relational-database consistency stm

在问题的简化版本中,我有两个更新单个行的事务:

malloc()

n

问题在于我们查询UPDATE A SET X = 1 是因为SELECT X FROM A UPDATE A SET Y = 3 的正确值对它有数据依赖性,但实际的公式尚不清楚。可能是X,其中Y是用户输入。

假设此行上的争用较高,大多数更新是独立的,因此我们希望它们尽可能并发。行版本控制的常见方法会引入很高的错误冲突,因为每个事务都会检查以前的版本是否保持不变。

应用程序如何表达这种数据依赖性?

更新行是否有助于确保这一点?例如:

Y = X + c

理想情况下,我希望相同的解决方案能与c方法一起使用,在这种方法中,应用程序将在本地解决大多数冲突并一次发布一个更新。

0 个答案:

没有答案