需要跟蹤對數據庫中的對象所做的更改。什麼是一個很好的解決方案來存儲對象的變化歷史?
微不足道的實現是獲取鏡像表,通過觸發器將數據插入到數據庫中或應用程序內部,但影響性能和隨着時間的推移鏡像數據庫變得巨大並且在原始表必須是改變(鏡像表需要反映這種改變)。
因爲我最大的要求是對數據庫和應用程序性能的影響最小,所以我當前的首選是將更改轉儲到udp上的syslog-ng中,並將它們存儲在純文本文件中。
畢竟changelog不會被頻繁訪問,所以甚至可以隨着時間的推移將其歸檔。但顯然這樣的設置實際訪問數據是相當棘手的。
所以我想我的問題是 - 是否有一個系統,至少部分適應我的需求?完美的配合將是UDP訪問的無模式附加數據庫系統,可自動存檔數據(或至少需要最少量的配置)或插入性能降低速度很慢。 MongoDB的? CouchDB的? YourDB?
保存爲序列化對象或json的更改(增量更新)數組可能也可以在數組合並以查看當前合併的更改。 – 2012-02-06 17:42:10
是的,這就是我打算做的,問題是要使用什麼存儲,因此很容易維護它並對其進行時間片分割。 – keymone 2012-02-28 13:20:10
如果問題是存儲,您可以將其存儲在任何地方,包括文件,數據庫中的字段或持久性緩存。這是你的電話。 – 2012-02-29 11:06:41