Yes, exactly right. One log per logical entity, here "payment ID".
The way our open source project implements that is with a partitioned log and indexes at key-granularity, so it is like virtually a log per key.
The way our open source project implements that is with a partitioned log and indexes at key-granularity, so it is like virtually a log per key.
How do you handle transactions in general? It is pretty common to have multiple changes that need to be applied together. In a single log, can write the changes and then write a record that says the changes are committed. This is how databases work.