The total volume of our stored data continues to explode as the type of data we store diversifies. Object storage and block storage are two methodologies for handling data, but while both systems have their strengths, neither is a panacea. Which is right for your enterprise? Let’s take a closer look to find out.
What is Block Storage?
The older of the two formats – though by no means outdated – is Block Storage. This system breaks down data into individual blocks, assigning each block an address, and distributing them efficiently across a storage medium. In a traditional file system, data would be stored in a hierarchy of file folders, but under a block paradigm, no hierarchy is necessary. When a file is called for retrieval, the server locates each block by its unique identifier, collects them, and reassembles the file. These blocks can even be distributed across multiple networked systems, unburdening one single system from the full workload. The upshot to this approach is it allows multiple users quick paths to each block, enabling data to be recalled in a fast and efficient manner. However, while each block has its own unique identifier, the file system is limited in what metadata can be associated with the data as a whole. This leaves the role of metadata handling up to ancillary softwares and databases.
There are cloud service providers that offer block storage solutions, but block excels in low-latency environments such as a local network. It writes, retrieves, and modifies files quickly by design. Changes to data can be done at the block level, meaning not every block is required to be fully retrieved by the system to make modifications to a file. This makes block storage best suited for databases that require frequent access, and high-performance applications, particularly across fiber optic connections. Furthermore, cloud implementations can be cost prohibitive, as users often pay for even unused storage capacity in a block-based system.
Lastly, block has a long history and is well-supported, and enterprises may find it useful (or even necessary) for running legacy softwares that are unfamiliar with newer protocols.
Also read: The Future of Network Management with AIOps
What is Object Storage?
Modern problems require modern solutions. Archival databases are getting bigger, file sizes are ballooning, and the benefits of high-speed internet coupled with deep wells of storage allow services like YouTube to host an absolutely colossal amount of data. While block storage can serve these needs, these are problems best addressed by a completely different paradigm. Enter Object Storage: a data storage methodology working on the conceptual-inverse of block storage.
Rather than breaking data into constituent fragments, object storage treats data as a whole, but adds two additional layers of information: a unique identifier and metadata. With these three pieces in hand, the final “object” is assembled. The resultant object is then stored on a flat address space — meaning no hierarchy is required — where it is retrieved by its unique identifier.
This method provides advantages to scalability, since new objects can be dropped into storage ad infinitum, without regard to complications to the overall file system. From a cloud perspective, this can be more cost-friendly as well, where customers typically only pay for the storage they are using. The addition of metadata tags also provides for advanced searchability and analytics — aspects that lend themselves well to the retrieval of information from large quantities of data.
On the downside, editing object-based files can be time and process intensive. Even a minor edit to a 20GB file will require essentially recreating the entire file and reproducing the object at large. By comparison, block storage enables edits to be made to small components of a file, reducing the time required to complete even small tasks.
However, archived databases and large files are often static in nature. They may need to be recalled and viewed, but their modification needs are minimal. Whereas block storage is best suited for files that require frequent modification and applications often in use, object storage is the solution for large-scale, static data.
Providers of Block and Object Storage
Tech giants and smaller vendors alike often offer both solutions for enterprise clients. Here are some of the primary players in the field of cloud-based object and block storage:
- IBM – Object Storage: Pricing is tiered based on how frequently data is accessed and how much capacity is required.
- IBM – Block Storage: Pricing based on volume, with added fees for snapshots. Monthly price starts at $0.05 per 0.25 IOPS/GB.
- Amazon S3: The Simple Storage Service, or “S3,” is a tiered, feature-rich object-based service, with pricing starting as low as $0.00099/GB, and as high as $0.023/GB, depending on frequency of access.
- Amazon EBS: The Elastic Block Store (EBS) is a high-performance block storage solution that includes a free tier of 30GB.
- Microsoft Blob Storage: Object storage dubbed “blob,” with archival pricing starting at $0.00099/GB and premium pricing at $0.15/GB across all levels of data storage.
- Azure Disk Storage: Block storage on an Azure Virtual Machine, with the lowest, 4GB disk size starting at $0.60/GB/month.
- Google Cloud Persistent Disk: Block storage with simplified pricing tiers, starting at $0.040/GB/month.
- Google Cloud Storage: Competitively priced object storage with a standard storage offering at $0.02/GB/month.
Choosing the Right Storage
At a certain scale, many companies will employ both solutions in a hybrid effort to maintain their data for regulatory compliance or archival reasons, while keeping hot data nearby in blocks. It’s important when choosing a storage solution to cut through the marketing talk and assess which method is the right fit for your needs.