File System Optimized Buckets (FSO) | Apache Ozone Skip to main content Apache Ozone Docs Latest Docs Docs 2.0.0 (Archived) Docs 1.4.1 (Archived)DownloadRoadmapBlog Community Communication Channels Who Uses Ozone? Report An Issue Ask a Question How to Contribute Events and Media Search Version: 2.1.1 Next 2.2.0 2.1.1 Overview Quick Start Core Concepts Architecture Replication Namespace Overview Volumes Buckets Overview Owners Quotas Layouts Object Store (OBS) File System Optimized (FSO) Default Replication Type Encryption Links Snapshots Keys Security High Availability Comparison with Other Storage Technologies User Guide Administrator Guide System Internals Developer Guide This is documentation for Apache Ozone 2.1.1, which is no longer actively maintained. For up-to-date documentation, see the latest version (2.2.0). Core Concepts Namespace Buckets Layouts File System Optimized (FSO)Version: 2.1.1 On this page File System Optimized Buckets (FSO) Overview​ File System Optimized (FSO) is a bucket layout optimized for Hadoop Compatible File System (HCFS) operations. Unlike the Object Store (OBS) layout, FSO maintains separate entries for intermediate directories, enabling efficient file system operations like directory listing, renaming, and deletion. FSO buckets support atomic rename and delete operations on directories at any level in constant time, regardless of directory depth or the number of files contained within. For example, in an FSO bucket, keys are stored with their hierarchical structure preserved: /mybucket/data/2025/nov/report /mybucket/data/2025/dec/summary /mybucket/archive/2024/logs/applog Each intermediate directories (data, 2025, nov, etc.) are stored as a separate entry, allowing efficient directory-level operations. note FSO is the default bucket layout in Ozone. To explicitly specify FSO layout when creating a bucket, use the --layout flag: ozone sh bucket create /<volume-name>/<bucket-name> --layout FILE_SYSTEM_OPTIMIZED Why FSO for Ozone?​ 1. Atomic Operations (The O(1) Factor)​ In a standard Object Store, if you rename a directory containing 1 million files, the system has to: Find all 1 million keys Copy them to a new path string Delete the 1 million old keys This is O(n) operation — the more files you have, the longer it takes. In FSO, a rename is just a metadata pointer update. To rename /data to /archive, Ozone simply finds the entry for data in the DirectoryTable and updates its name to archive. All the children (the millions of files) stay exactly where they are because they point to the unique ID of that directory, not its name. 2. Delete operations​ Deleting a directory with millions of files is efficient because all child entries share the same parent ID prefix, allowing Ozone to quickly locate and remove them using prefix-based queries, rather than scanning the entire namespace. When to Use FSO vs Object Store (OBS)​ Choose File System Optimized (FSO) when: Using Hadoop Compatible File System interfaces Storing data for analytics workloads (Hive, Spark ...) Working with hierarchical directory structures Requiring atomic directory operations (rename, delete) Needing trash/recycle bin functionality Choose Object Store (OBS) when: Primarily using S3-compatible APIs Working with flat object access patterns Configuration​ To update the default layout when creating buckets, configure these properties in ozone-site.xml: PropertyDefault ValueDescriptionozone.default.bucket.layoutnoneSets the default layout for all buckets if no layout is specified during creation by the clientozone.client.fs.default.bucket.layoutFILE_SYSTEM_OPTIMIZEDSets the default layout for buckets created using the OFS clientozone.s3g.default.bucket.layoutOBJECT_STOREDefines the default layout for buckets created through the S3 API For detailed technical information about the internal metadata structure and implementation Edit this page Previous Object Store (OBS) Next Default Replication Type Overview Why FSO for Ozone? 1. Atomic Operations (The O(1) Factor) 2. Delete operations When to Use FSO vs Object Store (OBS) Configuration Apache Software Foundation Foundation License Events Sponsorship Privacy Security Thanks Community GitHub Discussions Jira Issues Slack Mailing List YouTube Twitter Repositories Ozone Website Docker Image Docker Runner Image Copyright © 2026 The Apache Software Foundation. Licensed under the Apache License, Version 2.0. The Apache Software Foundation, Apache Ozone, Ozone, Apache, the Apache Feather, and the Apache Ozone project logo are either registered trademarks or trademarks of the Apache Software Foundation.