Sto lavorando su due progetti che implementeranno entrambi un server Webdav supportato da un MongoDB GridFS. In ogni caso, esiste il potenziale per il sistema di memorizzare decine di milioni di file distribuiti su migliaia di directory gerarchiche.
Posso inventare due modi diversi di memorizzare la struttura della directory:
-
Come un "vero" file system gerarchico, con directory contenenti gli ID (
_id
) di sottodirectory e file regolari. I percorsi saranno separati da barre (/
) come in un file system conforme a POSIX.- Il percorso
/a/b/c
verrà rappresentato come una directorya
contenente una directoryb
contenente un filec
.
- Il percorso
-
Come un file system piatto, in cui i nomi dei file includono le barre.
- Il percorso
/a/b/c
verrà archiviato come un singolo file con il nome/a/b/c
- Il percorso
Quali sono i vantaggi e gli svantaggi di ciascuno, rispetto a un "reale" file system basato su cartelle?