使用重播进行审核的事件记录

时间:2018-03-05 13:54:34

标签: postgresql logging event-sourcing

我需要为GDPR合规性实施审核日志,以便我们记录每个系统用户给出或撤销的每个同意(一个事件)。它必须存储如何&当它与当时的同意措辞之类的事情同时发生时。

为了能够从备份恢复中恢复,此日志将与主数据库分开存储。然后,我们需要能够更新用户同意的状态,以便准确反映事件日志(即每个用户的每个同意问题的最后已知值(真/假))

我可以使用第二个postgres实例(我们的主数据库是postgres)使用单个表来存储信息,然后使用一些简单的应用程序代码来记录每个事件以及更新主数据库。还可以有一些简单的应用程序逻辑,用于从事件日志中查找每个同意的最后已知状态,并更新主数据库。

对我而言,使用postgres存储此信息似乎有点过分了?虽然添加一项新技术来存储这一点似乎也有些过分。有没有更适合这种事情的技术?这听起来很像我的事件采购。

1 个答案:

答案 0 :(得分:1)

如果你已经在运行postgres,它看起来似乎有点矫枉过正,因为它需要在线并且可以查询。像卡夫卡这样的东西通常很适合这种问题,但这更难以解决。

这与事件采购有着相似之处,但规模很小。事件采购通常意味着所有您的数据以事件的形式表示,并从头到尾重播以实现当前状态。

你能详细说明一下吗?:

  

为了能够从备份恢复中恢复,该日志将与我们的主数据库分开存储。

主数据库不能从备份/恢复中恢复吗?