helium / plumtree

Epidemic Broadcast Trees
Apache License 2.0
193 stars 51 forks source link

Question - dets:sync #8

Closed dergraf closed 9 years ago

dergraf commented 9 years ago

Currently the metadata dets is synced to disc for every put. Is this required or could it be disabled to speed up insertion of many objects?

jrwest commented 9 years ago

for a bit of background (note: I no longer work on this codebase on a regular basis): the use of dets:sync stems from this library's initial use within Riak. This code replaced an older system that guaranteed that updates were synced to disk after each write. This was important for Riak's use case but generally may not be wise.

A few options I see:

tsantero commented 9 years ago

I agree with @jrwest's comments. While delaying sync/using a batch put would decrease the cost of each write, the potential for dataloss makes plumtree that much less attractive.

For the foreseeable future I don't see replacing dets with anything else, as my immediate goals include further decoupling the peer service from the broadcast protocol and making CRDTs a first class citizen for objects.

I'd be happy to chat further offline, if you're interested. Feel free to drop me an email if you like: tom@helium.com

dergraf commented 9 years ago

Thank you both for your answers. Tom you've got mail.