Riak, when you use LevelDB behind it, certainly has indexes. As many as you want (within reason), through secondary indexes[0]. While it doesn't have joins specifically, you can link data blobs and walk the links[1]. For when that isn't quite enough, you can always perform a compiled erlang map reduce across a given dataset[2].<p>I don't quite see how CockroachDB offers anything Riak doesn't.<p>Riak, while not offering true locking transactions (it doesn't look like CockroachDB does either - imagine how long it would take to perform a locked transaction across sixteen data centers in as many countries, two of which have gone dark due to power outages and giant robots), offers you the option of resolving data version conflicts when you read the record[3]. (ed. Many times if doing a partial update of a record, you need to read before writing anyway. This resolves a conflict before you write to a potentially conflicted record chain. Typically this is done with a pre-commit hook. [4])<p>(ed.: The major differences seem to stem from the snapshotting system CDB uses to provide external consistency across data centers. This comes at a (potentially huge, especially if two clusters lose connection with each other but not with clients) delay in write verification.<p>Riak, on the other hand, would still allow writes - and would resolve any conflicts when the datacenters connect again. It's a hairy problem to fix, especially in a general manner.<p>It all depends on what kind of data you're storing.)<p>0. <a href="http://docs.basho.com/riak/latest/dev/using/2i/" rel="nofollow">http://docs.basho.com/riak/latest/dev/using/2i/</a><p>1. <a href="http://docs.basho.com/riak/latest/dev/using/link-walking/" rel="nofollow">http://docs.basho.com/riak/latest/dev/using/link-walking/</a><p>2. <a href="http://docs.basho.com/riak/latest/dev/using/mapreduce/" rel="nofollow">http://docs.basho.com/riak/latest/dev/using/mapreduce/</a><p>3. <a href="http://docs.basho.com/riak/latest/theory/concepts/Vector-Clocks/" rel="nofollow">http://docs.basho.com/riak/latest/theory/concepts/Vector-Clo...</a><p>4. <a href="http://docs.basho.com/riak/latest/dev/using/commit-hooks/" rel="nofollow">http://docs.basho.com/riak/latest/dev/using/commit-hooks/</a>