0
由於一些模糊的原因,我們正在爲我們的應用程序使用複製的orient-db。在OrientDB中同時創建
看起來很可能我們會遇到可以創建兩條記錄的情況。這是怎麼回事了:
- 我們有實體
user_document
,他們的用戶名和ID的文件 - 用戶和文檔都將在另一個應用程序管理和存儲在另一個數據庫; - 這個創建新文檔的另一個應用程序發送廣播事件(通過rabbit-mq主題);
- 我們的應用程序的幾個實例接收到此消息並創建另一個
user_document
與同一對user_id
和document_id
。
如果我理解正確,我們應該在這兩個id上使用UNIQUE
索引,並依賴分佈式事務。
然而,由於某些原因(我們的應用程序和數據庫之間的另一支球隊writitng層),我們可能不能使用UNIQUE
雖然聽起來愚蠢:)
我們有什麼機會呢?
莫非我們,例如,讓所有實例創建冗餘記錄和創建後立即通過user_id
和document_id
選擇,如果不止一個人發現,隨着lexicografically更高自己id
刪除的?
您使用的是什麼版本?請升級到1.7.4。 – Lvca