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

    Salvare immagini su db mysql oppure su disco?

    Secondo voi quali sono i pro e contro delle due soluzioni calcolando che le immagini da salvare sono nell'ordine del milione (da 1 a 6 milioni di immagini)

    le dimensioni e peso dell'immagine potrebbero essere ad esempio:


    I file su disco verrebbero organizzati con cartelle tipo:

    data un immagine con id 1234567
    /7/6/5/1234567


    Le immagini in db verrebbero salvate in blob

    Grazie
    Motore di ricerca annunci - Hai un sito? segnalalo sulla Directory gratuita

  2. #2
    su disco e soprattutto non usando l'id ma un hash calcolato tipo con
    sha1(uniqid(microtime(), true))

    Su disco una struttura del tipo

    a/ab/abcd.......................
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  3. #3
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,747
    Originariamente inviato da daniele_dll
    soprattutto non usando l'id ma un hash calcolato tipo con
    sha1(uniqid(microtime(), true))
    qual'è lo scopo di ciò?
    Errare humanum est, perseverare ovest

  4. #4
    gli id sono sequenziali, sarebbe possibile visualizzare le successive cambiando l'id ^^
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    153
    io uso l'id, però ad inizio pagina faccio anche il confronto tra l'id dell'utente che ha creato la foto, e l'id dell'utente attualmente loggato, se non è il proprietario... non si vede la foto!

    E cmq sono anche io per il filesystem, sono stati creati per questo!

  6. #6
    Originariamente inviato da absolom
    io uso l'id, però ad inizio pagina faccio anche il confronto tra l'id dell'utente che ha creato la foto, e l'id dell'utente attualmente loggato, se non è il proprietario... non si vede la foto!

    E cmq sono anche io per il filesystem, sono stati creati per questo!
    beh, non vederla cosi

    Un filesystem non è altro che un database organizzato per gestire una data tipologia di informazioni, tecnicamente si possono salvare anche su mysql ... il problema però si presenta quando diventa necessario scalare: gestire piattaforme MOLTO grandi tramite database come mysql, postgresql, oracle e via dicendo richiede certe accortezze che non si possono applicare se non si ha un sistemista esperto e una o più macchine dedicate sotto controllo
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  7. #7
    Alla fine abbiamo optato per scrivere su disco con un accorgimento di 100 cartelle contenente ognuna 100 cartelle su cui andare a salvare le immagini

    con 3 milioni di immagini avremo una media di 300 foto per cartella
    Motore di ricerca annunci - Hai un sito? segnalalo sulla Directory gratuita

  8. #8
    questo è un'estremizzare al contrario

    in genere qualche centinaia di migliaia ci possono stare senza problemi, volendo non esagerare mettendo qualche decina di migliaia si è apposto

    proprio per questo avevo proposto la soluzione dell'hash e dei primi 2 caratteri
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

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 © 2026 vBulletin Solutions, Inc. All rights reserved.