Concurrency OrientDB的独家存储锁定究竟意味着什么?
阅读了OrientDB官方文件中的以下声明: 为了保证原子性和一致性,OrientDB获得 事务提交期间对存储的独占锁定 我想知道我对形势的理解是否正确。以下是我认为这会起作用的方式:Concurrency OrientDB的独家存储锁定究竟意味着什么?,concurrency,transactions,locking,orientdb,Concurrency,Transactions,Locking,Orientdb,阅读了OrientDB官方文件中的以下声明: 为了保证原子性和一致性,OrientDB获得 事务提交期间对存储的独占锁定 我想知道我对形势的理解是否正确。以下是我认为这会起作用的方式: 线程1打开一个事务,并将记录从#1:100读取到#1:200,其中一些来自类a,另一些来自类B(在事务结束之前无法确定的内容) 线程1处理数据,甚至可能插入一些记录 线程1开始提交数据。由于数据库无法知道打开的事务可能会影响数据的哪些部分,它将盲目地阻止整个存储单元,并验证@version,以对所有可能受影响的记
#1:100
读取到#1:200
,其中一些来自类a
,另一些来自类B
(在事务结束之前无法确定的内容)@version
,以对所有可能受影响的记录实施乐观锁定#1:1
(或整个数据库中的任何其他记录),并被提交进程阻止,该进程与存储单元上的独占锁定对齐。如果我没有关闭,不管原始数据驻留在哪个集群上,都会发生此块,因为我们有多个主数据集如果情况变得更糟,而这恰好是OrientDB实际工作的方式,我非常欢迎任何解决这一难题的方法。我们正在寻找有意义的方法,使OrientDB仍然是企业、可扩展的高端应用程序的可行选项。在OrientDB的当前版本中,事务以独占模式锁定存储。幸运的是,OrientDB的工作方式是乐观的,这“只”在提交()时完成。因此,无论交易何时开始
如果这是你的用例的展示器,你可以考虑:
谢谢你的评论。关于OrientDB 3.0的生产就绪版本何时能进入下载市场,我们有什么见解吗?OrientDB 3.0将于2015年7月至8月正式上市。