jojochuang commented on code in PR #186: URL: https://github.com/apache/ozone-site/pull/186#discussion_r2655840755
########## docs/07-system-internals/07-features/01-filesystem-optimization.md: ########## @@ -4,4 +4,58 @@ sidebar_label: Filesystem Optimization (FSO) # File System Optimization (FSO) System Internals -**TODO:** File a subtask under [HDDS-9862](https://issues.apache.org/jira/browse/HDDS-9862) and complete this page or section. +The prefix-based File System Optimization feature supports atomic rename and delete of any directory at any level in the +namespace in deterministic/constant time. + +This feature can be enabled for each specific bucket that requires it by setting the `--layout` flag +to `FILE_SYSTEM_OPTIMIZED` at the time of bucket creation. + +```bash +ozone sh bucket create /<volume-name>/<bucket-name> --layout FILE_SYSTEM_OPTIMIZED +``` + +Note: File System Optimization favors Hadoop Compatible File System instead of S3 compatibility. Some irregular S3 key +names may be rejected or normalized. + +This feature is strongly recommended to be turned ON for Ozone buckets mainly used via Hadoop compatible interfaces, +especially with high number of files in deep directory hierarchy. + +## OzoneManager Metadata layout format + +OzoneManager supports two metadata bucket layout formats - Object Store (OBS) and File System Optimized (FSO). + +Object Store (OBS) is the existing OM metadata format, which stores key entry with full path name. In File System +Optimized (FSO) buckets, OM metadata format stores intermediate directories into `DirectoryTable` and files +into `FileTable` as shown in the below picture. The key to the table is the name of a directory or a file prefixed by +the unique identifier of its parent directory, `<parent unique-id>/<filename>`. + + + +### Directory delete operation with prefix layout + +Following picture describes the OM metadata changes while performing a delete + operation on a directory. + + + +### Directory rename operation with prefix layout + +Following picture describes the OM metadata changes while performing a rename + operation on a directory. + + + +## Configuration Review Comment: This section should better go under Administrator Guide -> Configuration. Let's work on that later. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
