我有一個獨立的網絡設備。它需要重新設計,以作爲這些設備的地理分佈組的一部分。組中設備之間的同步不需要頻繁發生,不能超過每小時。該應用程序與SQLite軌道。正在同步應用程序
主要是,我們希望保持這些設備上收集的某些信息同步。由於部署,添加大型數據庫集羣並不可行。
我一直在考慮CouchDB,因爲從複製產生的複製和處理衝突是它的強項。
你認爲CouchDB是一種保持分佈式網絡設備同步的機制嗎?任何想法或建議的替代方法?
我有一個獨立的網絡設備。它需要重新設計,以作爲這些設備的地理分佈組的一部分。組中設備之間的同步不需要頻繁發生,不能超過每小時。該應用程序與SQLite軌道。正在同步應用程序
主要是,我們希望保持這些設備上收集的某些信息同步。由於部署,添加大型數據庫集羣並不可行。
我一直在考慮CouchDB,因爲從複製產生的複製和處理衝突是它的強項。
你認爲CouchDB是一種保持分佈式網絡設備同步的機制嗎?任何想法或建議的替代方法?
CouchDB將非常適合這一點,因爲正如您所說,它擁有主 - 主複製。由於您正在通過WAN進行復制,另一個巨大的補充是,CouchDB旨在優雅地處理網絡上下網,這將是一個很好的容錯。
很多人都使用CouchDB來處理這種情況。看看一些案例研究(http://www.couchbase.com/customers/case-studies)和我寫的一篇關於使用CouchDB保持前端服務器的會話數據同步的博客文章(weblog.bocoup.com/storing-php-sessions-in-couchdb)。
此外,如果您發佈了有關您的案例的更多信息,以便我們可以幫助解決我們的問題,這將有所幫助。
乾杯。
CouchDB沒問題。你可能有一些Unix工具的替代品。
最簡單的鍵/值數據庫是文件系統中的文件。他們的工作很棒。如果您只需要使用基本複製的密鑰/值存儲,那麼rsync可以做到這一點。例如,如果您的衝突解決策略始終採用最新的時間戳數據,那麼您可能會逃避rsync。
首先,您可能正在運行Unix/Linux。不同於CouchDB,將包括SSH和rsync。
rsync(實際上它的SSH隧道)的另一個優點當然是識別,認證和授權。你的設備大概是Unix/Linux,並且有一百萬種方法來連接Unix授權。這不是一個保證,但幾乎任何事情都是可行的:密碼文件,NIS,LDAP,Kerberos,Samba/Active Directory。名單繼續。
隨着沙發,你將不得不找出某種用戶管理系統。
_users
數據庫嗎?那麼_users
數據庫中的衝突呢?_users
數據庫嗎?如果你不能有一箇中央數據庫數據庫,你怎麼能有一箇中央用戶數據庫?沙發,就像MySQL,是一個成熟的服務器。它會維護那個rsync不會的負載。
.ini
配置在換句話說,你可以做一個快速和骯髒的rsync破解,或者你需要完整的Couch包嗎?
CouchDB是一個統一,一致的平臺,無論操作系統如何。這可能是好的或壞的。不知道你的具體情況,我猜測通過SSH的rsync是最好的短期,但沙發是最好的長期。 (但是有這麼多的軟件項目,長期似乎永遠不會到達。)
你是說你將有幾臺數據庫機器通過WAN同步,或者你將擁有一個所有網絡設備都可以訪問的數據庫?換句話說,RDBMS不適合的問題是什麼? – Asaf 2011-04-10 03:54:24
通過廣域網同步的多個設備,除其他外收集需要在它們之間共享的數據。每個人都可以獨立運作,或作爲一個羣體的一部分。主 - 主複製是我認爲需要的。 – nil 2011-04-10 17:42:07