News for hackers. Stuff that matters.
Re:Fast key-value stores: An idea whose time has come and gone by liveoneggs on Monday June 24, 2019 @08:52AM (#20263010)
the real irony is that RDBMS are all built on fast k:v stores :)
Re:Fast key-value stores: An idea whose time has come and gone by hodgesrm on Monday June 24, 2019 @10:27AM (#20263810)
> the real irony is that RDBMS are all built on fast k:v stores :)

Not if the RDBMS is a column store. Or if the storage model is based on log-structured merge trees. There are many ways to map the relational model to storage. Even for the traditional row-oriented case in InnoDB there are structures like B+-tree indexes that do not directly correspond to a K:V store.

Re:Fast key-value stores: An idea whose time has come and gone by HelloNurse on Monday June 24, 2019 @09:14AM (#20263217)
The real point is that you don't want to reimplement a poor, ad-hoc RDBMS inside your application.
Re:Fast key-value stores: An idea whose time has come and gone by posix_me_less on Monday June 24, 2019 @09:15AM (#20263224)
What do you mean, a filesystem?
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.

Re:Fast key-value stores: An idea whose time has come and gone by bjornagoransson on Monday June 24, 2019 @09:27AM (#20263324)
I think it's a reference to RocksDB, and maybe also InnoDB
Re:Fast key-value stores: An idea whose time has come and gone by bottled_poe on Monday June 24, 2019 @09:59AM (#20263565)
I’m not sure what you mean? Aren’t most databases built on assumptions of continuous disk space mapped by indexed arrays? How does k:v fit into the picture?
Re:Fast key-value stores: An idea whose time has come and gone by marcosdumay on Monday June 24, 2019 @12:00PM (#20264892)
The most common high-level use of a DBMS is the pair "given this key, get me the record that is its value" and "store this record under a new key". It's not exactly equal to the usual k:v usage (because it uses meaningless keys), but it's very similar.

That said, I don't think this is the usage scenario most DBMS are optimized for, because despite being common, it's a very fast case, so there is relatively little to gain. At the same time, this is the only usage of k:v storage, so you bet it's optimized for that.