In questo momento stiamo creando un nuovo servizio che si integrerà nella piattaforma esistente della nostra azienda. Il servizio sarà responsabile del monitoraggio dei "punti" che un utente può generare nel tempo attraverso determinate attività.
Sono preso tra due diversi metodi di approccio. Non sono sicuro se scegliere una delle seguenti strutture per gestire continuamente i punti:
- Crea un "log" di punti e mantieni invece un totale parziale nel database, come un campo chiave / valore, in cui il valore è il saldo punti attuale che viene semplicemente regolato durante ogni transazione.
- Crea un sistema "ledger" in cui ogni volta che i punti vengono ricalcolati dopo una determinata condizione, ma il intero libro mastro viene valutato per determinare il saldo dei punti più aggiornato.
Non pensare che sia rilevante, ma il DB di back-end è Riak.
Quale ha il minimo inconveniente, o c'è un modo migliore? Come funziona il sistema di punti StackExchange in relazione a quanto sopra? Mille grazie per l'input!