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:50AM (#20262976)
SQLite (:memory:), lmdb, berkeleydb, memcached-over-unix-socket, APCu (php), EHCache (java)..

I'm sure there are others; I don't get what this paper presents that is new

Re:Fast key-value stores: An idea whose time has come and gone by judofyr on Monday June 24, 2019 @08:54AM (#20263023)
Oh, sorry, I was imprecise: I meant "distributed database as a library". As in, you compile/bundle your application logic together with the persistence/replication/transaction logic and that is what you're running in a cluster.
Re:Fast key-value stores: An idea whose time has come and gone by stingraycharles on Monday June 24, 2019 @11:27AM (#20264455)
Datomic is a distributed database written in Clojure, and is best described as "cqrs-as-a-service". It allows you to run a "peer" inside your local Java VM, which essentially does exactly this: it caches the parts your local vm needs, and if not it looks elsewhere.

https://docs.datomic.com/on-prem/peer-server.html

Re:Fast key-value stores: An idea whose time has come and gone by ryanworl on Monday June 24, 2019 @09:08AM (#20263160)
This is do-able with FoundationDB. You could distribute your application colocated with the database nodes and write a router to redirect requests to the machine which owns the data you're looking for. Then your application logic is computing against data on the same machine.

FoundationDB exposes the key-range to node mapping to you to make this router possible.

Re:Fast key-value stores: An idea whose time has come and gone by s_kilk on Monday June 24, 2019 @09:27AM (#20263326)
The BeamVM languages (Erlang, Elixir) seem to have this in the form of Mnesia, and libraries that are built on top of it, such as riak-core.
Re:Fast key-value stores: An idea whose time has come and gone by dillonmckay on Monday June 24, 2019 @10:42AM (#20263977)
Ha! I was just about to ask about that.

‘I bet Elixir already has something like this’.

Re:Fast key-value stores: An idea whose time has come and gone by StreamBright on Monday June 24, 2019 @10:37AM (#20263918)
Riak uses Mnesia?
Re:Fast key-value stores: An idea whose time has come and gone by ergl on Monday June 24, 2019 @11:37AM (#20264589)
Not that I know, but it uses ETS to handle state, and the global process registry to store peer information, as far as I know.

Also, be aware that OP mentioned riak-core, which is a different thing from Riak. riak-core is a library to build dynamo-style distributed applications, which gives you virtual nodes, consistent hashing and data migration as building blocks.

Re:Fast key-value stores: An idea whose time has come and gone by elcritch on Monday June 24, 2019 @01:23PM (#20265977)
Riak KV uses leveldb, but as @ergl mentioned, riak-core is essentially a hash-ring and replication (aka dynamo) layer.
Re:Fast key-value stores: An idea whose time has come and gone by liveoneggs on Monday June 24, 2019 @09:03AM (#20263114)
EHCache has tons of capabilities and is bundled directly into your app('s war file)
Re:Fast key-value stores: An idea whose time has come and gone by mey on Monday June 24, 2019 @09:31AM (#20263363)
Apache Geode, Hazelcast, how some people are using Kafka. I am just listing a few others, please don't consider this endorsement.