Jan*_*sen 13 events cqrs event-sourcing event-store
如何解决在事件存储中删除数据的问题?
我需要永久和完全删除一些数据,以遵守隐私法.
我找到了这些替代方案:
加密需要删除的数据,并将加密密钥存储在自己的表中.当需要删除数据时,只删除加密密钥.
对不需要删除的数据使用事件源,参考CRUD数据库获取需要删除的机密数据.
有没有其他方法可以做到这一点?
我一个月前就这么做了。试图让它尽可能简单。我只是重播了整个事件存储,修改事件数据,最后将事件存储在新的事件存储中。换句话说就是迁移。当一切完成后,我删除/备份了旧商店。之后,由于更改,我根据预测重播了新的事件存储。
如果您没有实施加密,则必须以某种方式添加它。就像重播整个事件存储一样。
PS:只是想向其他读者提一下,更改活动商店的原因确实很有限。除非遵守隐私法或确实存在严重错误,否则请勿使用它。如果您需要删除用户的数据,您可以执行以下两项操作之一:
首先,将事件处理程序更改为不需要数据,以便在删除数据时不会破坏数据。
然后创建一个小应用程序来读取所有事件,并将新事件写入新的事件存储,而无需删除所需的数据。
使用新的事件存储测试您的系统是否仍然正常运行;可以重新水化所有聚合,并生成所有投影/视图/读取模型/无论您如何称呼它们。
删除旧的事件存储。