Storage types
- Block storage
- File Storage
- Object Storage
Block Storage
A block is a range of bytes or bits on a storage device. Blocks are assigned identifiers, they are spread across multiple disks or environments. You can retrieve the individual blocks separately from the rest of the file, which makes block storage excellent for technology like relational databases.
- Organizes data into fixed-sized blocks or chunks.
- Each block is treated as an individual hard drive and is managed by the operating system.
- Often used in Storage Area Networks (SAN) and traditional storage systems.
- Ideal for databases, virtual machines (VMs), and applications requiring high-performance I/O.
- Used in environments where high performance, ultra-low latency, data consistency, and reliability are critical.
It can be either locally or network-attached, and is typically formatted with a file system like FAT32, NTFS, EXT3, and EXT4.
Some examples of block storage include:
- Hard disk drives (HDD),
- Solid state drives (SSD),
- Magnetic tape, and
- Optical media.
Examples of Cloud block storage devices:
- Azure Managed Disk,
- Google Cloud Persistent Disk, and
- AWS Elastic Block Storage (EBS)
- VMware Virtual SAN (vSAN)
- Dell EMC PowerMax
With relational databases, you might only need to retrieve a single piece of a file, such as an inventory tracking number, or one specific employee ID, rather than retrieving the entire inventory listing or whole employee repository.
File Storage
Historically, operating systems save data in hierarchical file systems organized in the form of directories, sub-directories and files, or folders, sub-folders, and files depending on the operating system.
Examples of files that can be stored include: documents, audio clips, spreadsheets, and media images.
For example, if you are troubleshooting an issue on a Linux distribution, you may need to look in /var/log or /etc/config. Once inside of these directories, you need to identify which file to explore and open. When using a file-based system, you must know the exact path and location of the files you need to work with or have a way to search the entire structure to find the file you need.
- Object storage is built to retrieve any amount of data from anywhere
Organizes data into a hierarchical structure of files and directories. - Managed by a file system that provides metadata about each file (e.g., name, size, permissions).
- Allows shared access to files over a network.
- Suited for storing unstructured data.
- Commonly used for shared file storage in network-attached storage (NAS) systems.
- Suitable for storing documents, media files, and user data.
- Examples:
- Network File System (NFS)
- Server Message Block (SMB)
- Amazon EFS
- Google Cloud Filestore
Object Storage
Unlike the hierarchical structure used in file-based storage, object storage is a flat structure where the data, called an object, is located in a single repository known as a bucket. Object can be organized to imitate a hierarchy by attaching key name prefixes and delimiters. Prefixes and delimiters allow you to group similar items to help visually organize and easily retrieve your data. In the user interface, these prefixes give the appearance of a folder and subfolder structure but in reality, the storage is still a flat structure.
- Stores data as objects, each containing data, metadata, and a unique identifier.
- Scales horizontally by distributing objects across multiple servers and storage devices.
- Provides a flat namespace, allowing unlimited scalability.
- Optimized for web-based applications and distributed systems.
- Best suited for storing large volumes of unstructured data, such as media files, backups, and archives
- Ideal for cloud-native applications and content delivery networks (CDNs).
- Examples:
- Amazon Simple Storage Service (S3)
- S3 Glacier Flexible Retrieval (formerly S3 Glacier)
- Google Cloud Storage (GCS)
- Azure Blob Storage