Shaun Abram
Technology and Leadership Blog
File, Block and Object Storage
I was in an AWS class today, where they were talking about S3, and how it is “object storage”. But what does that mean? One way to explain it is to contrast it with other types of file storage, namely File and Block Storage.
Note that there are many better explanations out there! For example, I used these references:
- Cloud File Storage (amazon.com)
- Understanding Object Storage and Block Storage Use Cases (cloudacademy.com)
- Block, File and Object Storage Compared – OpenIO Storage Talk (youtube.com)
- Object storage, Block Storage and File Storage (wikipedia.org)
Block Storage
A block storage device can be mounted by an operating system as if it were a physical disk. Block storage is usually located very close to the server, and is fast but expensive. The most common use cases for it are databases and boot disks (for operating systems).
At a slightly more technical level, block storage devices provide fixed-sized raw storage capacity.
“Block storage is normally abstracted by a file system or database management system (DBMS) for use by applications and end users.” – wikipedia
The most common examples of Block Storage are Storage Area Network (SAN), iSCSI, and local disks. In AWS, it is Amazon Elastic Block Store (EBS).
File Storage
Data is saved in nested folders (directories and sub-directories) that form a path. Each file has a small amount of metadata (e.g. name, size, created date, modified date).
You can think of file storage as being like a storage room. You put a box in (your file), label it (your directory), and you can run out of space (disk capacity). (This cloudian.com article uses a warehouse analogy).
Common file storage mechanisms are NAS/NFS. In AWS, it is Amazon Elastic File System (EFS) and Amazon FSx for Windows File Server .
And, finally, back to Object Storage…
Object Storage
With Object storage (aka object based storage), data is stored as objects where each object includes the data, potentially rich metadata, and a globally unique identifier.
The main differences between object storage and simple key-value storage is
a) Size: Object is optimized for large amounts of data (e.g. GBs)
b) object stores support for rich metadata (An “object” is the combination of key, value, and attributes)
Most cloud storage is object storage, including Amazon Web Services S3 and Google Cloud Storage.
Tags: aws, blockstorage, ebs, efs, filestorage, objectstorage, s3