Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I think at one point the employees of Basho knew how to write distributed DBs - Riak is the most advanced AP DB from a distributed systems theory perspective. However, in recent months, their CEO, CTO and Chief Architect have left, as well as many of their prominent engineers. Worryingly, the new CTO seems content to make inane comments about "Data Gravity" [0].

[0] - http://www.kdnuggets.com/2015/03/interview-dave-mccrory-bash...



I think Riak's theory is fine, but theory isn't enough. And they may have succumbed to the Osborne effect with Riak 2.0.

Here's what I mean. Think of all the nice things you expect to come out of Riak's theoretical basis -- bulletproof distributed writes, for example.

Well, the default last-write-wins writes aren't bulletproof. They clearly fail Jepsen [1]. And if you turned off last-write-wins, then you'd have to handle siblings -- and how you were supposed to handle them without introducing inconsistency was quite unspecified. Riak clients gave you no help there.

Or, as the Jepsen article says, you could use CRDTs. Before 2.0, Riak had exactly one CRDT, the counter.

Something that might be appealing to some is built-in MapReduce. On the forums, people would warn you not to actually use it unless you didn't actually want availability after all. I don't know if they ever sorted that out.

Another supposedly nice thing was Riak Search. A distributed DB with full-text search out of the box -- that sounds great, right? But there were two things called Riak Search, and the first one just plain didn't work. They deprecated it before it had a replacement, but the replacement was supposed to come in 2.0.

So, Osborne effect. When people gradually discovered that Riak 1.x was bad, and the response was "but Riak 2.0 will be great!", that's a great reason not to use 1.x. 2.0 took a very, very long time, enough time for customers and potential customers, including us, to find other solutions.

[1] https://aphyr.com/posts/285-call-me-maybe-riak


Ya, you have to handle siblings if you don't use LWW. If you would rather Riak execute a pre-defined merge strategy, use Riak's CRDT features.

The original Riak Search in vs 1.x was replaced with integrated Solr in Riak 2.x, and it works.

I'd love to hear more about your use case. Contact info in profile. I'm this username in all the usual suspects.

Disclaimer: I work at Basho.


FWIW I did write a bunch of documentation on sibling resolution in Riak: http://docs.basho.com/riak/latest/dev/using/conflict-resolut...


So it looks like the conflict resolution strategies being recommended are "pick one arbitrarily", or in an advanced section, "keep the longer list"?

Not that it matters to me anymore, but it does sound like having all data in CRDTs is the only way to pass Jepsen. (Or to have your data be immutable, in which case Jepsen doesn't apply.)


Indeed. We're evaluating Riak CS and Swift. In a vacuum, I'd choose Riak CS any day. Knowing all of the drama at Basho, we're in a holding pattern at best and leaning (reluctantly) towards Swift.

Basho needs to sell damn fast or just call it a day and open source the enterprise version.


This is kind of surprising to hear. I had no idea.

Well in that case have you heard about LeoFS? Wonder if it overlaps with any of the Riak CS features for you.

http://leo-project.net/leofs/


The drama has died down. Drama is generally isolated to pitched battles amongst engineers for feature implementations ;)

Contact info in profile, this username at all the usual suspects.

Disclaimer: I work for Basho.


Drama aside, Riak and Swift are not in the same league.


Riak CS is. I said Riak CS, not Riak.


That was a year ago and they seem to be doing fine since.


I had a bad experience with riak v2. I think something went quite wrong in the process when going from v1 to v2, especially around Riak Search.


Riak Search in v1.x and Riak Search in v2.x are completely different. Riak 2.x tightly integrats Solr.

If you wanna talk about it I'm this username at all the usual online places.

Disclaimer: I work for Basho


oooh, that is scary.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: