File system implementation in MongoDB with GridFS
https://softwareengineering.stackexchange.com/questions/173034
-
05-11-2019 - |
Question
I am working on two projects that will both implement a Webdav server backed by a MongoDB GridFS. In each case, there is the potential for the system to store tens of millions of files spread across thousands of hierarchical directories.
I can come up with two different ways of storing the directory structure:
As a "true" hierarchical file system, with directories containing the IDs (
_id
) of subdirectories and regular files. The paths will be separated by slashes (/
) as in a POSIX-compliant file system.- The path
/a/b/c
will be represented as a directorya
containing a directoryb
containing a filec
.
- The path
As a flat file system, where file names include the slashes.
- The path
/a/b/c
will be stored as a single file with the name/a/b/c
- The path
What are the advantages and disadvantages of each, with respect to a "real" folder-based file system?
No correct solution