Traditional local file systems support a persistent name space. Local file system views devices as being locally attached, the devices are not shared, and hence there is no need in the file system design to enforce device sharing semantics.
HDFS supports a traditional hierarchical file organization.The file system namespace hierarchy is similar to most other existing file systems; one can create and remove files, move a file from one directory to another, or rename a file. The NameNode exposes a file system namespace and allows data to be stored on a cluster of nodes while allowing the user a single system view of the file system. HDFS exposes a hierarchical view of the file system with files stored in directories, and directories can be nested. The NameNode is responsible for managing the metadata for the files and directories. The current HDFS architecture allows only a single namespace for the entire cluster. This namespace is managed by a single namenode. This architectural decision made HDFS simpler to implement.
Files can be organized under Directory, which together form the namespace of a file system. A file system typically organizes its namespace with a tree-structured hierarchical organization. A distributed file system is a file system that allows access to files from multiple hosts across a network.
A user or an application can create directories and store files inside these directories.
Namespace partitioning has been a research topic for a long time, and several methods have been proposed to solve this problem in academia. These can be generally categorized into four types: