2016-01-19 21 views
4

我是爲學術研究研究OrientDB。我們應該看的一大部分是ACID範式。是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不會checkt如果點的存在記錄或不?如果是的話,如果C無效,爲什麼符合Orient ACID?

例子: 有類作家,並與物業Blog.author LINK作家博客。 只有一個與RID =#12作家記錄:0。

在一個關係數據庫此插入應該發生一個錯誤:

Insert into Blog CONTENT {"author" : "#12:1"} 

沒有與RID沒有記錄=#12:1,但OrientDBh不會發生錯誤。即使在使用Java API的交易:

​​3210

那麼我有一個很大的誤區,或者爲什麼是OrientDB ACID兼容如存在任何外-RID檢查和不一致性,從而可能?

回答

1

這是文件API的限制,有沒有檢查RID一致性,因爲當你刪除一個文件,發現所有鏈接到它的其他文件將意味着做數據庫的完全掃描,這通常需要年齡完成。 要解決這個問題,有雙向鏈接或在應用程序級管理環節的一致性。