What is Key-Value over Fabrics?
Written by Lynn Orlando
Published on March 13, 2020
It Starts with NVMe-over-Fabrics Technology
The recent introduction of NVMe-over-Fabrics (NVMe-oF) technology has been a huge boon for structured data workloads, helping applications take better advantage of the performance capabilities of modern NVMe-connected storage media. Stellus is the first in the industry to extend these benefits to unstructured data by combining the standardized Key-Value command set with NVMe-oF. This new connectivity model, Key-Value over Fabrics (KV-oF), uses the ultra-low latency of NVMe to pass Key-Value commands. As a result, it can provide low latency and consistent performance as the platform scales, especially for variable-size objects and larger amounts of data. Key-Value over Fabrics technology combined with application-specific Key-Value Stores can make unstructured data access 5x faster and 50% more resource efficient than other data storage architectures available today.
Why Use Key Value Store and Its Commands?
Unstructured data comes in many types and sizes and is usually stored and accessed as files or objects. To work with unstructured data, conventional storage systems have to translate it for structured, block-based data stores. This requires significant system resources to divide up each file or object into small “blocks” that can be managed and fit into devices like SSDs. As the size of each individual file or object grows, these systems need to use even more resources (or more expensive resources) to create and manage all the additional “blocks” needed to represent the file or object.
Recognizing the inefficiencies inherent in this model, the big webscale companies have long used an alternative approach in their hyperscale data centers: Key-Value Stores. KVSs can not only store and manage variable-sized data more efficiently, they can also interact with data and metadata in its unstructured form. KVSs support the basic data store commands like PUT (write), Get (read) and Delete. However, they also support an extended set of Key-Value commands that drive huge efficiency gains, including:
- Append to add additional data to an existing object without a resource-inventive Read/Modify/Write process
- Offset Read when the system needs only a small portion of a larger data object
- Range Query (Iterate) to interact with large numbers of objects simultaneously
- Range Erase (Iterate) to delete large number of objects simultaneously
These and other Key-Value commands bring new levels of performance and efficiency to data systems working with growing amounts of unstructured data. These levels of performance and efficiency are what drive the Stellus Data Platform–and they’re what make our software so popular with our customers. Don’t just take our word for it. Listen to Sig Knapstad and Dr. Pavak Shah talk about the Stellus Data Platform and the performance that Stellus software enables in their own work.