Re:Fast key-value stores: An idea whose time has come and gone
by vidarh on Monday June 24, 2019 @09:59AM
(#20263569)
Pretty much all RDBMSs can be considered a set of key-value collections, and their storage backends often conceptually are pretty much that. Assuming a row-oriented storage engine, a simple approach is:
* A main key/value collection consisting of primary key (key) mapping to a serialization of the row (value)
* One key/value collection per index consisting of each index function applied to the row (key) mapping to the primary key (or some internal object id; the value)
It's a bit of a simplification as an RDBMS needs to maintain a sort-order and allow e.g. range queries, and need interfaces that allow reading/writing lots of rows with low per-row overhead, and so it's not that they'd be a good match for just any key-value store.
* A main key/value collection consisting of primary key (key) mapping to a serialization of the row (value)
* One key/value collection per index consisting of each index function applied to the row (key) mapping to the primary key (or some internal object id; the value)
It's a bit of a simplification as an RDBMS needs to maintain a sort-order and allow e.g. range queries, and need interfaces that allow reading/writing lots of rows with low per-row overhead, and so it's not that they'd be a good match for just any key-value store.