gpt4 book ai didi

orientdb - OrientDB 真的符合 ACID 吗?

转载 作者:行者123 更新时间:2023-12-01 03:35:55 26 4
gpt4 key购买 nike

我正在研究 OrientDB 进行学术研究。我们应该关注的一个重要部分是 ACID 范式。

OrienDB 手册说:

OrientDB is an ACID compliant DBMS.



它还说:

When you create a property, OrientDB checks the data for property and type. In the event that persistent data contains incompatible values for the specified type, the property creation fails. It applies no other constraints on the persistent data.



因此,如果指向现有记录,则外国 RID 将不会检查?如果是这样,如果 C 无效,为什么 Orient ACID 兼容?

例子:
有具有属性 Blog.author LINK Writer 的 Writer 和 Blog 类。
Writer 中只有一条 RID=#12:0 的记录。

在关系数据库中,此插入应发生错误:
Insert into Blog CONTENT {"author" : "#12:1"}

没有 RID=#12:1 的记录,但是 OrientDBh 没有出现错误。即使在使用 Java API 的事务中:
ODatabaseDocumentTx db = new ODatabaseDocumentTx(...);

ODocument newBlog = new ODocument("Blog");
newBlog.field("author", new ORecordId(12,1) );

try{
db.begin();
newBlog.validate();
newBlog.save();
db.commit();
}
catch(Exception e){
System.out.println(e.getMessage());
e.printStackTrace();
db.rollback();
}

db.close();
}

那么我是否有很大的误解,或者如果没有外国 RID 检查以及不一致的可能性,为什么 OrientDB ACID 兼容?

最佳答案

这是 Document API 的一个限制,没有检查 RID 一致性,因为当您删除一个文档时,找到链接到它的所有其他文档意味着对数据库进行全面扫描,这通常需要很长时间才能完成。
为了解决这个问题,有双向链接或在应用程序级别管理链接一致性。

关于orientdb - OrientDB 真的符合 ACID 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34867509/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com