Live data from Hacker News

Open Riak – open, modern Riak fork

github.com

61–70 of 76 posts

Re: Open Riak – open, modern Riak fork

#61
For a long time Riak was my favorite key value store. It went into production without any significant issue in several companies and was running without interruption despite the face of hardware issues.

I think it stability was due to the fact of combining great technologies like LevelDB and Erlang. I wish it was a bit more popular.

Re: Open Riak – open, modern Riak fork

#63

Earlier quoted context omitted.

Speaking as a former tech evangelist/engineer at Basho, there were a few significant challenges. Riak is horribly unfriendly as a database: no SQL, it exposes eventual consistency directly to the developer, it’s relatively slow, and Erlang is a fairly unusual language. While you can run Riak on a single server, you’d have to really want to. Its strength is the ability to scale massively, but not many projects need th…

Thing is, Cassandra became and remained popular, with similar aspects (though in JVM instead of Erlang, so). Though it had a couple years head start when there really no other options for people wanting that kind of kit.

I remember somebody whose competence I rate highly talking about ending up picking Cassandra over Riak (at a point where Riak was technically decently mature) simply because of availability of ops expertise - basically his take seemed to be that Basho support was solid but they hadn't succeeded at cultivating people he could *hire* to handle as much as possible in house before calling in the gurus.

(I can't, of course, speak to the truth of this, only that over a couple decades of knowing the dude in question and working with him on and off he had sufficient Clue that I expect he did put in the effort before coming to that conclusion)

Re: Open Riak – open, modern Riak fork

#64
post #7

I've never met an engineering team that used Riak, but it is used heavily as an example technology in Kleppmann's 'Designing Data Intensive Applications'. (I would say, informally, it's usually the example of the "other way" as opposed to other more well-known databases.) This does make me wonder what became of it, why it didn't take off.

My old team used Riak in production for time series data in a real-time system. Our code was in Clojure, and we just wrapped the Java client. The conflict resolution was a steep learning curve, but overall, it was kind of nice (coming from Mongo). But man, Clojure stack traces wrapping Java stack traces wrapping Erlang stack traces in a Kafka consumer... I wish that hell on no one.

This feels like it needs a "yo dawg, I heard you liked stack traces" meme.

Also bourbon. Probably *lots* of bourbon.

Re: Open Riak – open, modern Riak fork

#65
post #54

A question possibly answered elsewhere, but did openriak include only Risk KV, or also other projects like CS & TS?

There are forks being maintained of Riak CS and Riak TS by TI Tokyo - https://github.com/ti-tokyo.

The focus of the OpenRiak community for the moment is on Riak KV only.

Re: Open Riak – open, modern Riak fork

#66

Riak has been maintained through the post-basho years by engineers at some of its larger customers (disclaimer - including myself). The focus has been on trying to improve the stability of the database when subject to complex failure scenarios under stressful load, with minimal need for urgent operator intervention. The focus has been on keeping those existing operators happy rather than seeking out new users. Evolut…

Metastability is an under-rated system property for databases and systems software, in general.

Did you mean 'not remaining in metastable failure' ?

I was under the impression that once you learned how to pet the cat forwards (the non-triviality of getting to that point being an oft cited adoption barrier, but still), Riak was really quite excellent at recovering from things going wrong, which would fit with that being what you were trying to say.

Or maybe my guess has gone completely wide, in which case please do break out the small words and crayon drawings and explain what you actually meant :)

Re: Open Riak – open, modern Riak fork

#68
post #52

This really hits home and makes me happy to see on the HN front page. Nearly 10 years later and I still consider my time working on Riak at Basho the highlight of my career. After leaving, my original plan was to found "Basho 2.0" after my non-compete expired. But, unexpected personal/family hardships in 2015-2018 made big-tech money the better choice for awhile, and Cloud/competitors continued to chip away at the ma…

I'm super happy to see YOU jtuple!!! I haven't seen or heard anything from you in years. I'm sorry to hear about personal/family hardships you suffered. I loved working for Basho in that era. I hope things are going well for you these days. No need to reply and get all mushy if you don't want to, I'm just really happy to see you posting and hear that you're out there.

Re: Open Riak – open, modern Riak fork

#69
post #54

A question possibly answered elsewhere, but did openriak include only Risk KV, or also other projects like CS & TS?

There are forks being maintained of Riak CS and Riak TS by TI Tokyo - https://github.com/ti-tokyo . The focus of the OpenRiak community for the moment is on Riak KV only.

Thank you.

I am tempted to try playing with the entire stack, used to pine for it back in 2011 or so :)

Re: Open Riak – open, modern Riak fork

#70
post #47

Earlier quoted context omitted.

We were working on ways of making it easier (such as CRDTs to reduce the amount of work developers had to do to leverage eventual consistency), but these were pretty challenging problems to solve. One of our biggest disappointments: we had plans to add a way to enforce strong consistency leveraging (IIRC) something akin to multi-paxos, but couldn't get it to work.

TBH, we shipped fully working strong consistency in 2014. It just had a limited feature set, was disabled by default, and was never promoted/marketed since it didn't fit the direction the new CEO/CTO was pushing. The engineering exodus around that time sorta killed the project though, and we never were able to do the big follow-up work to make it really shine. (Disclaimer: Former Basho Principal Engineer, primary aut…

If you don’t mind my asking, how did you find working with Erlang in such a context? I’ve always been curious about it, but these days it seems like most people are mostly interested in Elixir for REST APIs and I am content with my existing tools for that purpose. However, there are clearly places where OTP and other Erlang functionality would shine and I’ve always thought it might be fun to keep in my back pocket.
Post reply on HN