Block Storage Limitations Pave the Way for Innovation with Key-Value Stores

Ken Grohe
3 min readMar 12, 2020

--

Data is arguably a company’s most valuable asset. With digital transformation upon us, there is a growing demand for flexible and scalable data storage systems.

Block storage is a popular data storage type. Block storage splits data into blocks and stores those blocks as individual hard drives, each with a unique identifier. The unique identifier is what the operating system uses to call up every block of data, read from the block, and write to it.

Blocks are not saved in any particular hierarchy, and the metadata applied to them is limited to the basic file attributes. Block storage typically is used for static files because any change made to a file results in the creation of a new object, which can be hard to manage as the system grows.

How Does Block Storage Work?

Block storage is deployed primarily in a Storage Area Network, or SAN, where several servers can get access to the block and its data through a network. Block storage is used commonly in network-based storage that demands low latency and high throughput. Developers often favor block storage for situations that require fast, efficient, and reliable data transport. Some of the everyday use cases include enterprise-level software application servers or database servers that require fast, reliable performance, such as transaction processing.

Additionally, blocks can be used in virtually every data center environment. Storage blocks enable administrators to manage the control and access privileges of individual blocks easily. Blocks can be mapped with a client application to enhance and optimize security, space, and retrievability.

Pros of Block Storage

Performance — Block storage is fast and used primarily by applications, like database servers, that need rapid input-output operations per second (IOPS). This rapid IOPS data access and low latency make block storage popular.

Reduced Overhead — Most applications (including PHP, SharePoint, Exchange, and Apache) are block storage aware, which means that the software can write to the storage block directly, removing additional overhead put on read/write activities of the operating system (and removes risk since the system does not have to write the data two times).

Permissions — Block storage allows easy-to-manage control-data permissions and access management.

Cons of Block Storage

Single Server Access — The volume of block storage is limited to one server at any given time, and it’s impossible to access the data from a different target server.

Limited Metadata — Block storage metadata is limited to the basic file attributes. As a result, applications that depend on detailed metadata might suffer.

Cost — Block storage is more affordable than other cloud storage models. Still, it is expensive for managed service providers since they use SAN, which is costly and requires highly skilled storage experts to control the optimization of the data arrays.

Global Maps — Block storage requires extensive global maps in order to quickly locate data within the system. As the amount of data grows, managing the global maps can be challenging.

Caching — Block data storage systems use complex caching, which does not scale consistently across parallel workloads.

Beyond Blocks: Enterprise Storage Looks to Key-Value Stores

At inception, block storage was considered a significant innovation. With time, even the best inventions lose appeal when compared to newer, more innovative technologies. A key-value store is one of the innovations quickly making headway in enterprise storage.

The key-value store concept has been around for years, but it’s seen a resurgence as hyperscale companies rely on it as a scalable way to manage large collections of data from millions of users. When you need to scale quickly without losing performance, key-value stores are the answer.

Compared to block storage, key-value databases are perfect for managing unstructured data, and they allow enterprises to deliver fast and reliable user experiences. Key-value stores drive scale-through growth, which is when a database can scale up (i.e., move to bigger storage volumes) and scale out (i.e., add more storage servers) at the same time, independent of one another.

While block storage has been a reliable way of managing enterprise data, new strategies are necessary to store and manage the increasing amounts of data companies must deal with daily. Key-value stores promise great potential for consistent, fast performance in enterprise environments.

--

--

Ken Grohe

Experienced SaaS executive w/ demonstrated history of execution in Performance Computing. President & CRO @ Weka.io formerly SignNow, Barracuda, Virident, & EMC