The DynamoDB Wikipedia article states that DynamoDB is a “key-value” database. However, the term “key-value” database completely overlooks a very fundamental feature of DynamoDB, that of the sort key: keys consist of two parts (partition key and sort key), and items with the same partition key can be efficiently retrieved together by the sort key.
Cassandra also has the exact same function of sorting items within a partition (which is called a “clustering key”), and Cassandra’s Wikipedia article uses the term wide colum store to describe this. While the term “wide column” is better than “key value,” it is still somewhat misleading as it describes the more general situation where an element may have a large number of unrelated columns, not necessarily an ordered list of separate items.
So my question is, is there a more appropriate term that can describe the data model of a database like DynamoDB and Cassandra: databases that, like a key-value store, can efficiently retrieve items for individual keys, but also items sorted by the key or just a part of it (the DynamoDB sort key or the Cassandra clustering key).
*Based on a question originally asked on Stack Overflow by Nadav Har’El