Yes Eric, I understood :)
On 30 January 2014 23:00, Eric Redmond <eredm...@basho.com> wrote: > For clarity, I was responding to Jason's assertion that Riak shouldn't be > used as a cache, not to your specific issue, Edgar. > > Eric > > On Jan 30, 2014, at 2:54 PM, Edgar Veiga <edgarmve...@gmail.com> wrote: > > Hi! > > I think that you are making some kind of confusion here... I'm not using > riak for cache purposes, thats exactly the opposite! Riak is my end > persistence system, I need to store the documents in a strong, secure, > available and consistent place. That's riak. > > It's like I've said before, just make an analogy with the linux file cache > system. Node.js workers simulate that in-memory cache, php applications > write and read from them and when something is dirty, it's persisted to > riak... > > Best regards > > > > > On 30 January 2014 22:26, Eric Redmond <eredm...@basho.com> wrote: > >> Actually people use Riak as a distributed cache all the time. In fact, >> many customers use it exclusively as a cache system. Not all backends write >> to disk. Riak supports a main memory backend[1], complete with size limits >> and TTL. >> >> Eric >> >> [1]: http://docs.basho.com/riak/latest/ops/advanced/backends/memory/ >> >> >> On Jan 30, 2014, at 1:48 PM, Jason Campbell <xia...@xiaclo.net> wrote: >> >> I'm not sure Riak is the best fit for this. Riak is great for >> applications where it is the source of data, and has very strong >> consistency when used in this way. You are using it as a cache, where Riak >> will be significantly slower than other cache solutions. Especially since >> you say that each worker will have a set of documents it is responsible >> for. Something like a local memcache or redis would likely suit this use >> case just as well, but do it much faster with less overhead. >> >> Riak will guarantee 3 writes to disk (by default), where something like >> memcache or redis will stay in memory, and if local, won't have network >> latency either. In the worst case where a node goes offline, the real data >> can be pulled from the backend again, so it isn't a big deal. It will also >> simplify your application, because node.js can always request from cache >> and not worry about the speed, instead of maintaining it's own cache layer. >> >> I'm as happy as the next person on this list to see Riak being used for >> all sorts of uses, but I believe in the right tool for the right job. >> Unless there is something I don't understand, Riak is probably the wrong >> tool. It will work, but there is other software that will work much better. >> >> I hope this helps, >> Jason Campbell >> >> ----- Original Message ----- >> From: "Edgar Veiga" <edgarmve...@gmail.com> >> To: "Russell Brown" <russell.br...@me.com> >> Cc: "riak-users" <riak-users@lists.basho.com> >> Sent: Friday, 31 January, 2014 3:20:42 AM >> Subject: Re: last_write_wins >> >> >> >> I'll try to explain this the best I can, although it's a simples >> architecture I'm not describing it in my native language :) >> >> >> I have a set of node.js workers (64 for now) that serve as a >> cache/middleware layer for a dozen of php applications. Each worker deals >> with a set of documents (it's not a distributed cache system). Each worker >> updates the documents in memory, and tags them as dirty (just like OS file >> cache), and from time to time (for now, it's a 5 seconds window interval), >> a persister module will deal with the persistence of those dirty documents >> to riak. >> If the document isn't in memory, it will be fetched from riak. >> >> >> If you want document X, you need to ask to the corresponding worker >> dealing with it. Two different workers, don't deal with the same document. >> That way we can guarantee that there will be no concurrent writes to >> riak. >> >> >> Best Regards, >> >> >> >> >> >> >> >> On 30 January 2014 10:46, Russell Brown < russell.br...@me.com > wrote: >> >> >> >> >> >> >> >> On 30 Jan 2014, at 10:37, Edgar Veiga < edgarmve...@gmail.com > wrote: >> >> >> >> Also, >> >> >> Using last_write_wins = true, do I need to always send the vclock while >> on a PUT request? In the official documention it says that riak will look >> only at the timestamp of the requests. >> >> >> Ok, from what you've said it sounds like you are always wanting to >> replace what is at a key with the new information you are putting. If that >> is the case, then you have the perfect use case for LWW=true. And indeed, >> you do not need to pass a vclock with your put request. And it sounds like >> there is no need for you to fetch-before-put since that is only to get >> context /resolve siblings. Curious about your use case if you can share >> more. >> >> >> Cheers >> >> >> Russell >> >> >> >> >> >> >> >> >> >> >> Best regards, >> >> >> >> On 29 January 2014 10:29, Edgar Veiga < edgarmve...@gmail.com > wrote: >> >> >> >> Hi Russel, >> >> >> No, it doesn't depend. It's always a new value. >> >> >> Best regards >> >> >> >> >> >> On 29 January 2014 10:10, Russell Brown < russell.br...@me.com > wrote: >> >> >> >> >> >> >> >> On 29 Jan 2014, at 09:57, Edgar Veiga < edgarmve...@gmail.com > wrote: >> >> >> >> tl;dr >> >> >> If I guarantee that the same key is only written with a 5 second >> interval, is last_write_wins=true profitable? >> >> It depends. Does the value you write depend in anyway on the value you >> read, or is it always that you are just getting a totally new value that >> replaces what is in Riak (regardless what is in Riak)? >> >> >> >> >> >> >> >> >> On 27 January 2014 23:25, Edgar Veiga < edgarmve...@gmail.com > wrote: >> >> >> >> Hi there everyone! >> >> >> I would like to know, if my current application is a good use case to set >> last_write_wins to true. >> >> >> Basically I have a cluster of node.js workers reading and writing to >> riak. Each node.js worker is responsible for a set of keys, so I can >> guarantee some kind of non distributed cache... >> The real deal here is that the writing operation is not run evertime an >> object is changed but each 5 seconds in a "batch insertion/update" style. >> This brings the guarantee that the same object cannot be write to riak at >> the same time, not event at the same seconds, there's always a 5 second >> window between each insertion/update. >> >> >> That said, is it profitable to me if I set last_write_wins to true? I've >> been facing some massive writting delays under high loads and it would be >> nice if I have some kind of way to tune riak. >> >> >> Thanks a lot and keep up the good work! >> >> >> _______________________________________________ >> riak-users mailing list >> riak-users@lists.basho.com >> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com >> >> >> >> >> >> >> _______________________________________________ >> riak-users mailing list >> riak-users@lists.basho.com >> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com >> >> _______________________________________________ >> riak-users mailing list >> riak-users@lists.basho.com >> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com >> >> >> > >
_______________________________________________ riak-users mailing list riak-users@lists.basho.com http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com