Schema di DB ticket / lotteria

1

Sto lavorando a un progetto che, quando tutto si riduce, è essenzialmente una lotteria. La svolta è che a causa del modo in cui abbiamo impostato il valore del ticket, un utente può trasmettere oltre 10.000 biglietti.

Essenzialmente, un utente può scegliere di trasmettere un certo numero di biglietti per ogni data lotteria. Alla fine di un periodo di tempo, un biglietto vincente viene scelto a caso. La probabilità di vincita degli utenti è proporzionale al numero di biglietti che lancia.

Il mio problema è che a causa del volume di biglietti, la memorizzazione di ciascun ticket singolarmente nel database sembra fuori questione, ma in qualche modo è necessario tenere conto di ogni ticket perché influirà sulle probabilità.

La mia opzione di fallback è la memorizzazione di "batch" di ticket per utente, supponendo che sia raro che un utente lanci un singolo ticket in una sola volta.

Quale sarebbe la soluzione migliore e più efficiente per archiviare un volume elevato di ticket nel database?

    
posta Ryan 23.05.2014 - 21:13
fonte

1 risposta

2

Non c'è motivo di escludere la memorizzazione dei biglietti singolarmente. I 10 di milioni di righe sono facilmente gestibili dai più moderni DBMS. Molti, molti siti e applicazioni gestiscono ordini di dati di grandezza superiore a questo. Cercare di utilizzare un work-around non normalizzato non sarebbe più efficiente: probabilmente introdurrebbe più inefficienze.

Assicurati di inserire gli indici giusti.

    
risposta data 23.05.2014 - 21:55
fonte

Leggi altre domande sui tag