我想將一些數據存儲在相對較大的文件中(每個文件幾GB)。我想使用事件採購並保存與這些文件相關的事件,例如FileCreated:標題,描述,時間戳,作者,個人,加密密鑰等。過了一段時間後,一些文件將不再需要,並佔用大量空間。所以爲了釋放空間,我需要刪除它們。這樣做是有問題的,因爲我將在事件存儲中擁有歷史記錄,而不是文件系統中的文件。有沒有辦法保持完整性,並以某種方式刪除兩者?還是有這個問題的最佳做法?事件源代碼 - 刪除事件相關文件
0
A
回答
0
由於我沒有得到答案,我試着自己回答。
可以從歷史記錄中刪除事件,您需要創建新的事件存儲並篩選要刪除的相同集合標識的事件。完成後,您可以切換到新的事件存儲並刪除舊的事件。可能你也需要重播預測。所以它與整個遷移非常相似,需要很長時間。在目前的情況下,如果我每年只需要這樣做一次,這並不是問題。將這些數據存儲在事件存儲器中的另一個問題是要麼從那裏流式傳輸,要麼需要將其複製以便爲其提供服務。後者並不總是一個好的解決方案,因爲有時需要花費太多時間來複制,並且爲了保存需要流式傳輸的數據,否則你將會非常快地失去內存。所以事件存儲應該支持流式附件。
另一種解決方案可以保留文件中的相關大數據並顯示類似404的內容,或者因爲這個和那個文件而被刪除。我經常看到這個。在這種情況下,可以將事件保存在存儲器中,例如可以添加ContentRemoved事件,您可以在其中選擇原因。另一個選項是隱藏已刪除的文件,所以它不會被應用程序列出,這通常也是我猜的。這個解決方案也有缺點。採用這種方法遷移更爲複雜,因爲您需要移動事件存儲和文件。如果您意外移除了一個文件,除非在備份中有該文件,否則以後無法撤消該文件。這可以通過延遲幾天的實際文件刪除來解決,所以如果你改變了主意,你可以撤消它。只有清空垃圾,才能刪除垃圾和文件的其他選項。
我認爲這兩種解決方案都值得考慮,並且可能取決於實際項目哪個更適合。
相關問題
- 1. 事件源代碼命令與事件
- 2. 刪除與元素相關的事件
- 3. 綁定源事件或網格事件中的UI相關代碼?
- 4. 在代碼後面刪除asp.net事件
- 5. 刪除事件
- 6. 刪除與事件文本「取代」
- 7. FullCalendar事件刪除
- 8. 刪除JavaScript事件
- 9. Javascript事件刪除
- 10. GTK刪除事件
- 11. 刪除錘事件
- 12. 爲.NET刪除文件事件
- 13. 事件日誌代碼錯誤無法找到事件源?
- 14. JavaFX事件處理之謎 - 代碼已被刪除且事件仍處理?
- 15. * .dsc文件如何與* .deb和源代碼文件相關
- 16. 刪除數組(與textchange事件有關)
- 17. Laravel強制刪除關係事件
- 18. 文件刪除代碼
- 19. 事件代碼:4005
- 20. keydown事件代碼
- 21. 刪除已刪除的源代碼文件的問題
- 22. Splunk - 合併相關事件
- 23. Simpy Store - 相關事件
- 24. 如何從C#代碼隱藏中刪除事件時自動刪除asp.net webcontrol中的事件引用?
- 25. 刪除事件監聽器
- 26. 從DynamicObject刪除事件
- 27. 刪除計時器事件
- 28. 在事件tableView刪除NSManageObject:commitEditingStyle:forRowAtIndexPath:
- 29. C#事件刪除語法
- 30. 從ButtonElement刪除onclick事件