neo4j锁定及其对应用程序的影响

时间:2013-11-09 23:28:18

标签: neo4j

让我们考虑以下图表:

Steve---KNOWS--->Kent---KNOWS--->Ingrid
                 cool             nice
                   |
                   +----KNOWS--->Burt
                                  nice

......史蒂夫举办了一场派对,肯特的朋友们打破了他的公寓。为此,他原谅了肯特,但他想把英格丽德和伯特标记为混蛋。他几乎不知道他的妻子也希望切断肯特,当史蒂夫开始他的交易时,她就开始了。下面是数据集的操作顺序:

  1. 史蒂夫启动交易TX1
  2. TX1过滤Steve-KNOWS-Kent'cool'-KNOWS- *。 TX1找到Ingrid,锁定Ingrid并将她的个性属性改为'jerk'。
  3. 与此同时,Steve的斗气妻子在相邻的房间里开始交易TX2。
  4. TX2过滤Steve-KNOWS-relationships和name ='Kent'。它锁定肯特并改变冷静到不冷静。此更新已提交。
  5. TX1,仍在遍历图表是用Ingrid完成的,应该继续使用Burt,还是应该呢???

    • 即使Steve-KNOWS-Kent'cool'不再是真的,TX1会继续并将Burt设置为'jerk'吗?史蒂夫的妻子认为肯特是不冷静的。
    • TX1的提交是否会导致Ingrid的个性属性成功提交更新,或者由于乐观锁定约束导致结果集在更新时发生更改,此更改也会失败。
  6. 请考虑默认锁定和READ COMMITTED隔离级别。

    我不确定我是否已经明白我的观点并且我还不够流利neo4j来自己测试它。我认为解释默认锁定,乐观锁定方法和READ COMMITTED的结果非常有用,最好用一个用例,有些用在neo4j用户文档或参考手册中。

0 个答案:

没有答案