A blog by Rayan Zachariassen, CTO
The long-standing debate about which is better – block-based or file-based storage (or loosely: SAN vs. NAS) – has emerged again to characterize the solutions in our world of SSD caching. Most end-users are fundamentally concerned with economic efficiency. If you weren’t you’d just put your entire environment onto SSD and be done with it.
Economic efficiency has three main aspects to it: performance value, resource efficiency, and management cost. On Monday, I wrote about the first aspect, performance value. Wednesday’s blog focused on the second aspect, resource efficiency. Today’s blog centers on the lower management overhead inherent with file-based caching:
Management Cost
Block caches by their nature are tied to block-based primary storage devices. This means that,
a) They need to be managed and set up explicitly for each storage device, and,
b) They do not work with file-based services such as NAS arrays, or cloud storage gateways, or clustered file systems.
Associating a cache with a particular storage device means that applications remain tied to specific storage devices. This inherently increases the complexity and inter-dependencies, and therefore risk, of the IT infrastructure. One of the big advantages of NAS, for example, is to be able to easily organize data and applications in a flexible namespace independent of the underlying infrastructure, whereas with block-based primary storage you need to maintain the link between application, data, and device. With file-based caching, you now also have the ability to specify the performance you want for any part of your namespace (or application, or project, etc.), which allows administrators to operate at the level of policy decisions as opposed to hardware/software dependencies. Clearly, this makes better use of people time and reduces risk to the organization.
Furthermore, with file-based caching a single technology is able to deal with essentially all caching requirements of an IT infrastructure: DAS, SAN, NAS, Cloud, and futures, independently of how storage devices evolve. This means you can eventually have a single caching solution for your infrastructure instead of a different solution for each kind of storage system you have, which means fewer point solutions, which again reduces the complexity, and therefore cost, of your infrastructure.
And one last thing to consider…Microsoft decided 20+ years ago that file-based kernel buffer caching made for a better solution and built the Windows cache manager on that model, which was contrary to previous block-based buffer caches. Their reasons included more efficient cache processing and improved recoverability. It’s worked pretty well so far.
Rayan Zachariassen, CTO




