我正在实施一个带有支付系统的应用程序,我需要记录通过该应用程序进行的交易。此外,我需要使用有关交易的一些信息来呈现一些 KPI。我已经在 Postgres 中有一个实现,其中我的表有两列id和transaction(jsonb)。在我的交易列中,我有一个如下所示的对象:
2018: {
November: {
list_of_transactions: [],
totalAmountEarned: 0,
numberOfTransactions: 0,
avarageSpending: 0,
numberOfCoins: 0,
numberOfUsers: 0
}
}
Run Code Online (Sandbox Code Playgroud)
现在,每当我做一个交易,我检查year和month自带的请求存在,否则将它们添加到该对象,并推动事务中list_of_transactions,并相应地更新所有的其他键。
我想知道这是否是解决问题的好方法,或者实际上是一种非常糟糕的方法。创建不同的表并以“SQL 方式”对它们进行规范化是更好的解决方案吗?你有什么建议吗?
其他注意事项
一个附带问题:既然会有很多很多交易,每年创建一个新表是个好主意吗?
涉及的所有数据的结构将完全相同,因此我应该创建多个数据库并进行连接。由于会有很多很多交易:每年创建一个新表是个好主意吗?