Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Problemi computazionali (per i più esperti)

    Premetto di non essere preparato in materia.

    Sto realizzando un'applicazione web e si tratta fondamentalmente di un gioco, in sostanza si possono votare delle cose ed in base ad un parametro personale di ogni utente si ottiene una media pesata e quindi la valutazione finale di questa cosa.

    Ora mi chiedo, se avessi (e magari ad averceli):

    10.000 utenti che votano quella cosa
    10 valori esprimibili per ogni cosa

    avrei quindi, in base alla struttura del mio database, un numero di queries, che penso al minimo potrei ridurre a 10.000 (immagina una tabella con colonne le 10 voci e il parametro).

    Poi devo fare la media pesata, quindi 100.010 moltiplicazioni.

    Aggiungo che i voti e il parametro possono variare continuamente nel gioco, quindi non posso fare il calcolo una sola volta.

    Tutto ciò si verificherebbe ogni volta che un utente accede alla pagina dove c'è questa media pesata, quindi molto di frequente se ipotizzo i 10.000 utenti votanti (spero...).
    E' vero che i numeri non sono molto elevati per un processore, ma il mio è un dubbio di fondo, concettuale, vorrei capire quanto e come incide questo procedimento nell'elaborazione della risposta, insomma credo si tratti di un problema di scalabilità.

    Si tratta di un falso problema per il server o faccio bene a pormi questi quesiti (e soprattutto come posso risolverli...se si può...)?

    Grazie e ciao.

  2. #2
    Utente di HTML.it L'avatar di Luke70
    Registrato dal
    Jul 1999
    Messaggi
    767
    Ci sono molti parametri di cui tenere conto per darti una risposta, che va comunque oltre alle mie competenze.

    Credo comunque che potresti memorizzare da qualche parte la media ed aggiornarla solo quando qualcuno vota e non quando viene visualizzata.
    In questo modo riduci sicuramente il numero di calcoli.

    Luca

  3. #3
    Originariamente inviato da Luke70
    Ci sono molti parametri di cui tenere conto per darti una risposta, che va comunque oltre alle mie competenze.

    Credo comunque che potresti memorizzare da qualche parte la media ed aggiornarla solo quando qualcuno vota e non quando viene visualizzata.
    In questo modo riduci sicuramente il numero di calcoli.

    Luca
    avevo pensato anche a questa soluzione così da ridistribuire le queries per ogni utente in sostanza, già infatti questo accade per la tabella di cui parlavo sopra che in realtà è 'inutile' perché ogni voce da votare ha una sua tabella specifica.
    Ma il problema è aggiornare una media pesata al variare di voti e peso...pensaci un po'...

    Grazie comunque.

  4. #4
    Originariamente inviato da lore83
    avevo pensato anche a questa soluzione così da ridistribuire le queries per ogni utente in sostanza, già infatti questo accade per la tabella di cui parlavo sopra che in realtà è 'inutile' perché ogni voce da votare ha una sua tabella specifica.
    Ma il problema è aggiornare una media pesata al variare di voti e peso...pensaci un po'...

    Grazie comunque.
    mi sono fatto 2 conti...si può fare conoscendo altri valori però...non è facile come sembra (e rischioso perché gli errori sono dietro l'angolo...) ma ne vale sicuramente la pena.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.