我正在考慮設計基於CouchDB的事件日誌記錄系統。使用CouchDB後端設計日誌記錄系統
什麼是存儲每個事件的好方法?
與事件「附件」每其他
- 一個文件?
我正在考慮設計基於CouchDB的事件日誌記錄系統。使用CouchDB後端設計日誌記錄系統
什麼是存儲每個事件的好方法?
與事件「附件」每其他
我會爲事件設置一個文檔。如果是事件記錄系統,事件是主要實體,對嗎?所以恕我直言,它應該是文件,而不僅僅是一些附件。該解決方案爲您提供搜索/過濾事件時的靈活性。
我肯定會去每個事件一個文件。除了amorfis的回答之外,使用附件很可能會在更新期間導致文檔爭用,除非您非常仔細地將更新序列化。只需將事件放入couchdb中作爲文檔,並使用視圖來分割事件並進行分析。
嗯...在couchDB爭用?我認爲這是基於「修訂」系統而不鎖定的。請解釋一下? – jldupont
如果您有當前版本的修訂版本,則只能更新文檔(包括添加附件)。每次存儲文檔時都會分配一個新的版本。所以,如果有很多事情想要更新文檔,例如一些記錄員,那麼他們最終可能會在文件上「打架」。失敗者重新加載文件並重試。 –
我知道這是舊的,但我已經成功地使用這種確切的方法做了一個couchdb日誌記錄系統。我有超過200臺機器進行報告,並且效果很好。 –