我想将一些数据存储在相对较大的文件中(每个文件几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事件