Block, File, and Object Storage
Block, file, and object storage are the three fundamental ways systems organize persistent data. Block storage exposes raw disk volumes, file storage presents a hierarchical namespace, and object storage uses flat key-value access with metadata, each suited to different workload patterns.
itStorage, backup, and data protection | OpenSkills.info
Intro
Block, File, and Object Storage
Storage is not only a place where bytes live. It is an interface that tells a workload how to name, read, change, share, and protect those bytes.
Block, file, and object storage expose three different interfaces. The underlying hardware may even be similar. What changes is the contract presented to the client.
Use this mental model:
block: volume -> numbered blocks -> client builds a file system or database layout
file: share -> directories -> named files
object: bucket -> keys -> objects plus metadata
The right question is not, "Which type is best?" Ask, "Which interface matches this workload's access pattern and operating model?"
Why the interface matters
An application cannot use storage in the abstract. It uses an access method.
A database may expect a device that supports small random reads and writes. A team may expect shared paths, directories, and file locking. A web service may expect an API that retrieves an entire object by key.
Changing the storage interface can require application changes. Mounting a file share is different from attaching a block volume. Calling an object API is different from opening a local path.
The interface also determines who manages the namespace. With block storage, the client usually creates the file system or database layout. With file storage, the storage system manages files and directories. With object storage, the service manages objects in a bucket while the application manages keys and metadata.
Block storage
Continue the course
This section is part of the paid course.
See pricing to subscribe, or log in if you already have access.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://www.snia.org/education/online-dictionary/term/block-storage
Supports
- Block storage as a method of storing data in blocks
- Fixed-size disk blocks and representative block protocols
- Host file system responsibility for arranging blocks into files
- https://www.snia.org/education/online-dictionary/term/object-storage
Supports
- Object storage as storage that provides object services
- Vendor-neutral object-storage terminology
- https://docs.aws.amazon.com/decision-guides/latest/storage-on-aws-how-to-choose/choosing-aws-storage-service.html
Supports
- Definitions and comparison of block, file, and object storage
- Block storage for low-latency device access and representative database uses
- File storage hierarchy, NFS and SMB access, and shared client uses
- Object storage identifiers, metadata, API access, and read-heavy use cases
- Selection criteria including protocol, client, latency, IOPS, throughput, access pattern, security, protection, and cost
- Use of several storage services to match different workload features
- https://learn.microsoft.com/en-us/azure/architecture/storage/storage-get-started
Supports
- Cloud architecture mapping of object storage, managed file shares, and block-level disks
- Object storage for text and binary data
- File storage for managed shares
- Block-level disks for virtual machines
- https://www.rfc-editor.org/rfc/rfc8881.html
Supports
- NFS version 4.1 as a remote file-access protocol
- File operations including open, close, read, write, rename, directory read, attributes, access checks, and locks
- File handles, state, caching, and security semantics that applications may depend on
- https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-smb2/5606ad47-5ee0-437a-817e-70c366052962
Supports
- SMB versions 2 and 3 as protocols for sharing file and print resources between machines
- Current Microsoft SMB protocol specification and revision history
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html
Supports
- Bucket, object, key, metadata, and API concepts
- Object naming and prefix-based organization
- Storage classes, lifecycle management, versioning, replication, and object locking
- Object access and management through service operations
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
Supports
- Object keys as unique identifiers within a bucket
- Flat bucket structure and logical hierarchy through prefixes and delimiters
- Folder-like console views without native subfolder hierarchy
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html
Supports
- Preservation and restoration of previous versions after overwrite or deletion when versioning is enabled
- Separation between durable current storage and historical recovery behavior
- https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volumes.html
Supports
- Managed block volumes attached to compute instances
- Volume types with different performance and price characteristics
- Volume constraints, lifecycle, status checks, snapshots, and fault testing
- https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volumes-multi.html
Supports
- Shared block-volume attachment to multiple instances
- Standard file systems not designed for simultaneous multi-server access
- Clustered file systems, write ordering, and I/O fencing for shared-block consistency
- https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html
Supports
- Managed file systems accessed through NFS clients
- Mount-based file access
- Identity, network access, and encryption considerations for file storage
