2009-12-09 56 views
1

假設我想實現一個分佈式數據庫(每個節點都是其他節點的副本);我聽說cdb能夠輕鬆地在兩個節點之間進行同步,並且至少支持某種形式的衝突解決方案。couchdb for/really/distributed replica

不幸的是我不知道couchdb,所以我不得不問:節點「圖形」的情況怎麼樣?假設我們有一千個斷開的節點;因此我們會 - 我認爲 - 雙向衝突。

couchdb機制可以幫助我在這種情況下?

否則,人們應該假設必須建立一個嚴格的節點層次結構,這在我的情況下是不夠的。

在此先感謝;)

回答

2

據我知道的CouchDB將保留所有衝突版本文檔的所有節點上。一旦解決了一個節點上的衝突,它就會傳播給其他節點。解決衝突必須由您的應用程序完成。

詳細請閱讀CouchDB bookconflict management chapter

+0

現在我明白了,默認的「分辨率」算法當然是非常通用的(不能以其他方式)選擇贏家,當然也不會嘗試任何形式的合併。該算法基本上是雙向的,只有獲勝者得到傳播。這並不是說它是錯誤的,我不明白這個聰明的選擇,但我不明白如何在沒有使用couchdb的情況下以可接受的努力做到這一點。整個couchdb技術包非常好,順便說一句;它看起來非常耐人尋味;)。謝謝。 – Unknown 2009-12-09 21:32:26