Live data from Hacker News

Antidote: CRDT-based distributed database

syncfree.github.io

41–50 of 89 posts

Re: Antidote: CRDT-based distributed database

#43
post #41

Does anyone have this compiling on Erlang 20?

We tried a couple of weeks back, but then most dependencies have not been upgraded yet. The problem is that, to my knowledge, there is no riak_core for Erlang 20.

I suggest that you build on top of the Riak Core from Heinz Gies. That's what we are using in some of our new projects.

Re: Antidote: CRDT-based distributed database

#44
post #23

Earlier quoted context omitted.

I don't think it encodes a graph that you query (like, say, Neo4J or Postgres with an orm); it seems to give various replicated data structure primitives, like documents, basically a kv store? So for building something like google docs.

One glaring omission is indexes. You can likely build something SQL-like to form complex queries coordinating related objects, but the efficiency of such queries is not a given. You can likely manually build something like an index to speed up lookups using e.g. the map primitive. With a plan for a complex query, you're on your own. Another likely problematic part is PK generation. You can of course use a counter, bu…

(one of the maintainers of Antidote)

There is a lot of research still going on in the back, including indexing, access control, verification tools for apps, and some other really cool stuff.

Efficient support for queries is non-trivial, indeed.

Re: Antidote: CRDT-based distributed database

#45

Earlier quoted context omitted.

We tried a couple of weeks back, but then most dependencies have not been upgraded yet. The problem is that, to my knowledge, there is no riak_core for Erlang 20.

I suggest that you build on top of the Riak Core from Heinz Gies. That's what we are using in some of our new projects.

This is what we actually do. I checked a couple of weeks ago with Heinz, but there wasn't a version available (but maybe I misunderstood him...).

Can you point me to an Erlang 20 compatible version?

Re: Antidote: CRDT-based distributed database

#46
It's nice that there's some reasonable research going on and this stuff will probably help build some solid systems... but do you really have to call it "Cure" and "Antidote"? Think of what you are implying with those names...

It has this thick smell of academia arrogance all over it which I always find deeply disturbing. I think what these types of projects need the most is humility.

Please reconsider how you present yourself and your work...

Re: Antidote: CRDT-based distributed database

#47
post #25

Earlier quoted context omitted.

With ATMs and debit cards, I thinks it's generally not true, they seem to use the online mode and update the balance of a checking account within seconds. With credit cards, you can indeed start more transactions against the same balance, and you're never sure in which order they will complete.

Gonna repeat, it is DEFINITELY possible to spend the same money multiple times with one ATM card, using old ATM machines with other payment methods. No, I will not further detail how here.

Interesting! A bit or research in this area may literally pay :)

Re: Antidote: CRDT-based distributed database

#48

Hey, author of GUN (the current most popular generalizable CRDT based database), and want to say I'm impressed. I'm often the first to nitpick things but this looks great: - Built in Erlang - Great explainer videos - Well documented CRDTs that you accept - Team of university related researches in CRDTs. I'll be looking through your guys stuff more. But good job! We need more people like you guys out there.

We detached this comment from https://news.ycombinator.com/item?id=15863587 and marked it off-topic.

Re: Antidote: CRDT-based distributed database

#49
post #35

I wonder what it looks like in terms of resource usage. I think there's a strong case for something like this for IoT type devices. Imagine the simple case of adding a name to a contact list on a mobile device, and wanting that to get synced up with a series of other devices.

It's written in erlang so should be better ram usage than a Java database.

I wouldn't say "better"; I'd probably say that the memory profile would be completely different. It all depends on the number of actors, the size of objects, and the workload. Remember: for large binary objects, references on a shared heap are sent and messages are not explicitly copied per actor. This means it's dependent on the workload and both the structure of how many processes are involved in a single request.

Re: Antidote: CRDT-based distributed database

#50

Earlier quoted context omitted.

I suggest that you build on top of the Riak Core from Heinz Gies. That's what we are using in some of our new projects.

This is what we actually do. I checked a couple of weeks ago with Heinz, but there wasn't a version available (but maybe I misunderstood him...). Can you point me to an Erlang 20 compatible version?

Ah, we might be pulling a branch for our Riak Core work. I can look into it tomorrow and get back to you.
Post reply on HN