In this post we’re going to be talking about the differences, examples and use cases for different type of storage currently offered today.
We’re going to discuss File storage, Block Storage and Object Storage. Let’s get started…
File Storage (NAS)
File storage is pretty simple. You give a file a name, give them some attributes and organize them in your favorite folder structure. Most of these files generally have a general naming convention that is identifiable within the file structure.
Pros:
- Easy to use
- Cost effective
Cons:
- Indexing large amounts of files – Limited in Scale
- Finding files you need.
Use Cases for File Storage
- Sharing of files
- Archiving/Tiering files
Block Storage (iSCSI)
Block storage are files that are split into evenly sized blocks of data and each block has its own address but with no other information (metadata) on what that block of data actually is.
Pros:
- Each block can be treated as independent disk and formatted with file system needed (NFS / NTFS / SMB)
- Incrementally edit part of a file
- Better performing than file storage
- Support external boot systems
Use Cases for Block Storage
- Virtual Machines (VMware, VMFS datastores)
- RAID (Arrays)
- Databases (Clustered Microsoft SQL etc..)
- Email Servers
Object Storage
Object-based storage stores data in containers known as objects. An object contains 3 parts (data, metadata and a Unique Identifier). Object storage seeks to enable capabilities not addressed by other storage architectures such as block and file storage. Object-storage systems allow retention of massive amounts of unstructured data. Object storage is used for purposes such as storing photos on Facebook, songs on Spotify, or files in online collaboration services, such as Dropbox.
Pros:
- Suited for multi-regional needs
- Very scalable
- Cost efficient – hardware
Cons:
- Eventually consistent replication/erasure coding
- Lacks high-end performance