Software Engineering discussion

26 views

Comments Showing 1-3 of 3 (3 new)    post a comment »
dateUp arrow    newest »

message 1: by Tom (new)

Tom Panning (tompanning) | 7 comments Being new to NoSQL databases in general, I wasn't expecting a whole lot from a key-value database, but I was impressed with Riak. One thing I needed a little help with was understanding what applications would be a good fit for Riak. The list of production users helped me there. There are many applications using Riak for the data equivalent of their crown jewels, but now I can see how it can be a really good fit for a lot of applications that have large scalability requirements.


message 2: by Aleksander (last edited Jan 14, 2013 07:17PM) (new)

Aleksander Shtuk | 84 comments Riak sounds very interesting. I remember in my undergrad as one of the projects for the Network Programming class we had to write a network server to communicate with GDBM key/value database located on a different machine. Why no one of us thought about communicating with the server over HTTP protocol? After reading this chapter it sounds obvious, though it would probably involve more work after all. :) With Riak we get HTTP API, distributed key/value database, MIME types, MapReduce, internal functions, links. Some of these concepts were new to me. Very cool.


message 3: by [deleted user] (new)

I think Riak is academically interesting because it shows the problems and solutions with non-centralized data management, and the opportunity for pure, autonomous, distribution and scale, as well as the resulting fault tolerance benefits.

Practically speaking, a minimal amount of centralized management (like the name node in Hadoop) makes the Riak consistency issues disappear. I am not fond of schemes that leave it up to the user to reconcile versions. Also, the data management language, at least with the HTTP/MIME/JSON approach, seems very complex to me. Finally, although Riak supports MapReduce, it doesn't appear to honor the same contract as Hadoop, which delivers (from the map to the reduce) tuples grouped by common keys, with all the keys on a given reducer in sorted order. But, I didn't dig very far enough into the documentation on this.


back to top