7 ms·
Open Riak – open, modern Riak fork
- amarsahinovic 2y agoLightning Talk: Introducing OpenRiak - Nicholas Adams: https://www.youtube.com/watch?v=0GLBsBeM4Kc https://www.youtube.com/watch?v=0GLBsBeM4Kc
- carterschonwald 2y agoCool! I never used it but really liked the engineers I met who worked at basho on risk. AFAIK, they basically had an engineering dream team until their last ceo had them go hard in certain directions that didn’t pan out.
- sitkack 2y agoThanks!
- chadd 2y agoI used Riak for a project back in 2012, the app that became the Whisper App, and as a huge Erlang fanboy, I was so excited about it. But it was incredibly unreliable at scale, and my colleague and I spent a week of sleepless nights under incredible personal and business pressure - as the servers got busier and busier - ripping it out. Still love vector clocks, though, and have fond memories of the Basho team presenting at Erlang Factory
- amanj41 2y agoVector clocks are very cool. Having read through how they were initially used in Riak, I was blown away that such an implementation could scale. I guess this is why Cassandra took a different approach?
- tibbar 2y agoVector clocks are certainly cool but fundamentally premised on the idea of having multiple 'live' versions of a value at once. Amazon's original Dynamo paper required conflict resolution at the application level, which is a very strange framework to build applications on. (Notably DynamoDB has moved away from this, I believe to Last Write Wins.) Cassandra takes the latter approach by default as well, I believe.
- amanj41 2y agoyes there's that idiosyncrasy, as well as client ideally needing to read the previous clock from the DB before writing an update for that key unless it's ok with the write being viewed as concurrent. Plus the extra memory overhead to store the clocks in the client.
- vosper 2y agoWho would this be for in 2024? I remember evaluating Riak back in 2011 or so for an analytics solution, but ended up going with a more traditional OLAP database that was a much better option. It's hard for me to imagine where Riak would be a good option given how many choices we have today for various data stores.
- felixgallo 2y agoRiak isn’t remotely like OLAP. What was your use case?
- ramon156 2y agoThink they meant OLTP
- sitkack 2y agoIt is a fault tolerant massively scalable key value store capable of handling hundreds of terabytes of data. What are these options you are thinking of? The only thing that comes to my mind is Aerospike and possibly ScyllaDB.
- tptacek 2y agoFoundationDB seems like the obvious example? But they're not strictly comparable in anything but scale, right? FDB is ACID.
- senderista 2y agoIf cloud is an option, DynamoDB?
- EwanToo 2y agoIt's realistically for the handful (dozens at most?) of very large Riak implementations where it would be enormously expensive to rewrite the application running on top of it. For example, the UK NHS Spine messaging system which has been building on Riak for 10 years https://riak.com/posts/press/nhs-launches-upgraded-it-backbone-spine-powered-by-riak/index.html?p=5044.html https://riak.com/posts/press/nhs-launches-upgraded-it-backbo...
- tibbar 2y agoI'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.
- encoderer 2y agoInscrutable erlang stack traces definitely played a part. They were horrible.
- macintux 2y agoSpeaking 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 that scale, and by the time you do, you’re probably already using some friendlier database and you’d rather make that one work.
- binary132 2y agoI wonder if some of these issues could be addressed sanely in an extension to the functionality
- macintux 2y agoWe 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.
- binary132 2y ago
- isoos 2y agoBasho team was very kind to open source contributions in ~2011-12: I've written an open source Riak client in Dart, and they had sent me t-shirts (the quality ones that are rare today). Nice treats for a fun project :)
- binary132 2y agoIt’s actually kinda silly how exciting this is to me
- masleeds 2y agoRiak 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. Evolution of the product since basho has been slow but significant. The project now has support from Erlang Ecosystem Foundation, and we're looking to invest some effort over the next few months explaining what we've done, and to start to articulate what we see as the future for Riak. So if you're interested watch this space. It is expected to remain a niche product though. However, it may still find a home for those demanding specific non-functional requirements, with an acceptance of some functional constraints.
- jamesblonde 2y agoMetastability is an under-rated system property for databases and systems software, in general.
- remram 2y agoWhat does metastability mean in this context? I've only seen it used to mean "appears stable but not actually stable", eg systems that resist small perturbations but never return to nominal after bigger disturbance (like cold boot). Did you mean "stability"?
- 2y ago
- freerobby 2y agoI led a migration from Mongo to Riak at Shareaholic about 12 years ago: https://www.slideshare.net/slideshow/migrating-to-riak-at-shareaholic/14130612 https://www.slideshare.net/slideshow/migrating-to-riak-at-sh... It was successful at first, but ultimately we traded one set of problems for another (how novel, I know). In particular, I underestimated the pain of troubleshooting the database itself. Riak was a new product, we were a small team that had never run anything on BEAM, and ultimately we lost too many days debugging and trying to make sense of Erlang stacktraces. The Basho folks were great, and to this day I appreciate how quickly they fixed a number of bugs for us. But ultimately it wasn't enough -- we found problems faster than they could be patched.
- tptacek 2y agoAs someone who has used Riak in anger once in his career and who has a blossoming interest in FoundationDB I'd love someone to contrast the two systems. My knee-jerk reaction --- which I'm calling out as such! --- is that FDB has decreased the relevance of systems like Riak.
- masleeds 2y agoI would tend to agree, perhaps a decade ago it was easier to define the uniqueness of Riak, and now there are alternatives that offer similar guarantees. So the relevance of Riak is not as obvious. Also as we focus on stability on OpenRiak going forward, that means reducing some of the capability that may have made Riak stand-out in the scale-out space. The preference going forward is to do fewer things, but do those things predictably well. There will be differences between Riak and FoundationDB, and I hope those differences are sufficient to make Riak interesting, and allow it to continue to occupy a small niche in the world of databases.
- nemothekid 2y agoI spent a lot of time with NoSQL systems in the early 2010s and I think what “killed” them was processors and networks getting so much faster that Postgres “just worked” for more and more use cases. There are systems I’ve built in the past with 20+ Cassandra nodes and tens of thousands of ops that were originally built on MySQL/Postgresql but migrated to Cassandra because the performance/cost of the SQL systems was just to high. Now those performance requirements can be handled cheaply with 1 or 2 beefy PostgreSQL databases. The level of scale you need today to make put up with something like Cassandra is much higher while yesteryear it felt like every startup was falling over once they found pmf
- amerine 2y agoI still use my RICON pint glass and wear my RICON jacket Basho gave everyone at RICON almost every week. My favorite conf swag ever
- remram 2y agoWhat's a Riak and is there really no better link for this news?
- sriram_malhar 2y agohttps://en.wikipedia.org/wiki/Riak https://en.wikipedia.org/wiki/Riak
- jtuple 2y agoThis 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 market. Often stil regret not taking that path. But, happy to see technology I'm very fond of still living on and providing value to the world.
- _russelldb 2y agoI'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.
- p_l 2y agoA question possibly answered elsewhere, but did openriak include only Risk KV, or also other projects like CS & TS?
- masleeds 2y agoThere are forks being maintained of Riak CS and Riak TS by TI Tokyo - https://github.com/ti-tokyo https://github.com/ti-tokyo. The focus of the OpenRiak community for the moment is on Riak KV only.
- p_l 2y agoThank you. I am tempted to try playing with the entire stack, used to pine for it back in 2011 or so :)
- datadeft 2y agoFor 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.
- indulona 2y agoit's always great idea to build your company on software written in some obscure niche language...
- KameltoeLLM 2y ago[flagged]
- vrighter 2y agothat it is a fork is a secondary detail. Lead with what it is, not what you copied to get the project started.