Hello everyone,
I'm in the beginning phases of building a riak_core application and am curious 
as to how others might recommend I set up my application. Every single bit of 
my application will be computation only, that is that all storage and data will 
be managed by Riak. Basically, a client sends a command to my riak_core 
application, it pings Riak to get the data, does something with it and then 
saves the results back to Riak before letting the user know what happened. If I 
planned on losing a few commands which were in flight when a node goes down 
this would be very simple, but I would like to avoid that (the is kinda the 
point of all this, after all). However, sending the command off to, say, 3 
nodes to process means that each of my nodes will then ping Riak (if I need 2 
responses per query suddenly that means I hit Riak nodes a total of 6 times), 
process, and then all try to save the data back to Riak (again possibly hitting 
6+ nodes to save the data). Is that wasteful? Is there a better way to approach 
this? How can I make sure that the results are consistent with multiple nodes 
doing the computation?
Would it better, if it is even possible, to have one node doing the computation 
with another node holding a copy of the command as a fail-over? Once the 
'primary' computational node finishes it's work and the data is saved the 
secondary one could be informed and just drop the command since it isn't 
necessary anymore. I'm still trying to grok all the implications of the way 
riak_core does things so any advice would be greatly appreciated.
Chris                                     
_______________________________________________
riak-users mailing list
[email protected]
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to