by Sean Cribbs
“NoSQL is awesome! I need to use it on my next project!” … [hours later] … “How the heck do I get my data out of this thing?!”
Sound familiar? Non-relational data storage solutions (NoSQL) promise all kinds of benefits — scalability, flexibility, fault-tolerance — but (by the nature of the moniker) don’t have SQL to query with. Riak is one such solution, a distributed key-value store that implements MapReduce for querying, and has some awesome client libraries for Ruby, Java, Python, and Node.js. We’ll briefly look at why you might want to use Riak, discuss how MapReduce works in Riak, and then dive into converting some pretty common SQL queries into their MapReduce equivalents, all using code you know how to write, Javascript!
by Susan Potter
Find out how to build decentralized distributed systems based on a Dynamo-esque philosophy using riak_core, which is used to abstract away some of the more complicated decentralized and distributed features of Riak KV, Riak Search and other applications. riak_core is an open source library written in Erlang that runs masterless distributed applications inside of it. Riak KV is a dynamo-inspired decentralized distributed key-value datastore that has received attention in the NoSQL world and is built
on top of riak_core.
In this talk I will demonstrate how to implement in applications built running in riak_core:
The consistency model used by Riak is designed to continue operating well even when nodes in your Riak cluster are down or unreachable, a property which also makes it a good model for mobile data. To me, “down or unreachable” sounds a lot like “off or without-cell-phone-connectivity” – common states for a mobile device.
In this talk, I’ll present Riak Mobile, a component that can be embedded into your iOS or Android application to make it a full Riak replication-aware peer. Typical usages for Riak Mobile is as a mobile content distribution platform using one-way sync; or with two-way sync to also push updated data back to your Riak cluster when the network is “eventually” available.
In the talk, I’ll walk through how Riak Mobile works. The client-part of Riak Mobile does not require an Erlang VM. Rather, it comes as either a Java or an Objective-C component using local on-device storage, and thus integrates nicely into the native development environments. The server-part is an OTP application running with Riak. Riak Mobile uses a flow-based algorithm using Merkle trees and vector clocks optimized specifically for providing efficient incremental synchronization for slow, high-latency network conditions.
United States United States, St. Louis
18th–20th September 2011