从技术层面来说,银行是如何处理我们的账户余额的?
关于账户余额,有一个著名的数据库设计问题。应该将账户余额存储在一个单独的列中,还是存储在交易表中,并在需要时动态计算?
-
如果你有一个账户余额列,你总是需要依赖后端应用程序,通过数据库触发器或其他类似方式来更新该字段。
-
如果你有一个交易记录表,你需要处理大量数据才能获取这些信息,这会消耗大量的 I/O 资源并耗费时间。这种方式似乎扩展性不佳。
而且,在我看来,两者都可能遇到并发问题,对吧?
我的问题是:银行是如何做到的?
文章来源:https://dev.to/vinibrsl/how-banks-handle-our-balance-technically-3j4l