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.
[ Parent
| on HN ]
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.
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)