Samsung-backed start-up Stellus emerged from stealth mode to announce its software defined Stellus Data Platform. This is a storage technology involving native key-value stores to create a new type of memory native file system running on commodity NVMe SSD hardware. The company said that it can reduce global file and block contention and costs, remove scale and performance limitations and inconsistency of global data caches with key-value over NVMe fabric. In addition, the company says that it offers algorithmic data locality with a memory native architecture to remove performance limitations of global maps at scale. This software can work on premise or in the cloud.
Before talking about what Stellus’s Data Platform enables let’s take a look at how key-value storage works. A key-value database is a type of nonrelational database that uses a simple key-value method to store and retrieve data. It uses an associative array (sort of like a map with grid lines) where a key is a unique identifier which can be any arbitrary string of bits, such as a filename, URI or a hash.
The value can be any kind of data, such as an image, document or a computer setting. The value can be a simple object or can include complex compound objects. The value is stored as a “blob” requiring no particular definition. The key and value are stored together and the value can be accessed by presenting the key.
Key-value databases are very partitionable and allow horizontal scaling at scales that other types of databases cannot achieve. Storing the value as a blob removes the need to index the data to improve performance. However, because the value is opaque, you cannot filter or control what’s returned from a value request.
Key-value stores store, retrieve and update data using simple get, put and delete commands. The path to retrieve data is a direct request to the object in memory or in storage using the key. The simplicity of key-value stores makes them fast, easy to use, scalable, portable and flexible. The border between key-value store and object storage is blurred.
Key-value stores are sometimes loosely referred to as object stores. Object stores are similar to key-value stores in that the object identifier or URL can be an arbitrary string (like a key) and the data can be of any arbitrary size. However, object stores allow one to associate metadata (a set of limited attributes) with each piece of data. The combination of key, value and this metadata is referred to as an object. In addition, object stores usually offer weaker consistency guarantees such as eventual consistency, whereas key-value stores offer strong consistency.
As a result of its key-value store based file system, Stellus says that they can decouple performance and capacity and achieve extremely high and near parity read and write speeds. The figure below shows their concept of Scale Through where both storage capacity and throughput can be scaled together.
Stellus’s Scale Through
Stellus Product Introduction
Stellus’s announcements included some applications in health science as well as media and entertainment. As shown in the figure below, for a media and entertainment workflow supporting post production they were able to achieve 40 GB/s reads and 35 GB/s writes, supporting up to 32 concurrent uncompressed 4K video stream.
Stellus for M&E Workflows
Stellus Product Introduction
The company said that it has achieved up to 80 GB/s reads and nearly the same on writes with a latency not exceeding 500 microseconds. The first Stellus Data Platform systems are distributed share-everything clusters, with data managers and KV store nodes and use 100 Gb/s Ethernet switching for the fabric network technology.
Note that Samsung has developed an open standard prototype key-value store SSD and such drives might include intelligence at the drive level, creating KV computational storage elements. Perhaps the Stellus software could be integrated with a distributed compute architecture for storage management or even more complex computational tasks.
Products like the Stellus key-value store open up new ways to create networked storage systems that can provide exceptional levels of scalability and performance. It will be interesting to see how this architecture develops and what applications it enables.