Mysql
 sql >> Database >  >> RDS >> Mysql

Monitoraggio delle impressioni banner - Progettazione database

Ti consiglio di creare il design più flessibile che ti permetta di creare nuovi report man mano che i requisiti si estendono in futuro. Suggerisci al cliente di desiderare rapporti sulle "impressioni giornaliere". E se arrivassero più tardi e dicessero "a che ora del giorno vengono mostrate di più le impressioni"? Che ne dici di "quando sono più cliccati"?

Quindi il modo più flessibile per farlo è avere 1 record per ogni impressione, dove ogni record è justbanner_idtimestamp

Successivamente, puoi creare una procedura memorizzata che aggrega i dati storici e quindi elimina ENORMI quantità di dati che hai accumulato, creando così report con il livello di granularità che ti interessa. Posso immaginare di archiviare dati orari per un mese e dati giornalieri per un anno. I processi archiviati scriverebbero semplicemente in una tabella di archivio:

  • ID banner
  • Identificatore dell'intervallo di tempo (del mese/anno per i dati mensili, o giorno/mese/anno per i dati giornalieri, ecc.)
  • Numero di impressioni