Pages and pages of feature descriptions, and not a single hard stat on people using this in production. Don't people writing these types of posts realize that that's a pre-requisite to trying to convince any decision-maker to look into their favorite pet framework/language/db/etc.?
Now, it could very well be the case that nobody is using this in production, or at scale. Fine. Where's that disclosure, then? 100 whiz bang features is only one part of the process of evaluating a new piece of technology.
Research before writing. EA's world of warhammer f/b app got rid of MongoDB, which failed, to use open source Riak. Mochi uses Riak. Collecta uses Riak. These are Akamai guys who make things work at one node or at 400 nodes.
I never made the claim to know or not know where or how this thing was being deployed. (I also never claimed to care.) The point of my post was that the author is doing himself (and the project he's talking about) a disservice by not putting the type of information you've provided into his post.
When I click on a blog post, I am giving that person my most valuable assets: my time and attention. It's up to the author to use them wisely. This author did not, and so I figured I'd post some constructive criticism of their choice of focus for their post. Your response misses the point of my feedback entirely, but thanks for the info anyway.
Do you know how/why MongoDB "failed" for the facebook application? It's not really clear what that actually means given your comment. Care to share a link to the story or an explanation if there is any?
Also, I'm glad you informed us about Riak deployments, but the last statement is inappropriate: please don't be rude. And spelling please as "pls" makes you seem immature too.
Nice find. However, I don't see where it says anything about MongoDB failing, though it is mentioned as a NoSQL database. Also:
Another customer, Electronic Arts, uses Basho infrastructure for a system that supports 7 million daily users of Warhammer Online on Facebook, saving each player’s status every half-minute, Falco said.
That's an impressive number of daily users, but it's just saving a status every half-minute? I don't see why MongoDB couldn't handle that just fine, assuming enough nodes (auto-sharding is basically working now right?).
I don't know, that's 230k saves a second .. that's no joke no matter what platform you're using. I am not super familiar with sharding in MongoDB (haven't needed to go there yet) but seems like 230k writes/second would stress pretty much anything, and Mongo only added that functionality fairly recently.
Personally I am not at all worried about having to deal with 230k writes/second, though. If one of my apps ever gets that large, I will expect my far-smarter-than-me head of DB ops to deal with it, then send me an email telling me all about how he'd solved the problem, which I will read with great interest from on board my gold-plated yacht.
No so fast with the yacht, he didn't say they're doing 230k saves/sec. That'd be the case if Warhamemr Online saved statuses for 7M concurrent users every 30 seconds. The basho guy said 7M daily users, not 7M concurrent ones.
Theoretically Riak should work well since it is modeled after Amazon Dynamo. However it is likely to have many bugs and corner cases since it is so new.
Many so-called developers have no idea what they're doing... it's a typical thing in our industry... pretty sad really... instead of taking their time to learn something and master it, they jump ship as soon as a new, obscure, and rarely used technology popped up.
Now you know why there are many poorly written code...
Not to be persnickety, but there is an entire world of Rails developers who don't have the problems that Riak purports to solve. I'll be a multi-millionaire bingo tycoon long, long before I outgrow MySQL, given my app's needs. (Adjust appropriately if you're Facebook. I'm not Facebook.)
Agreed 100%. I spent some time checking it out a little while ago, and was inspired by the article to go back and have another look. Very impressive indeed. And also total, utter overkill for 99.99% of sites. And hey, I'm all for overkill, but it looks like a pretty steep learning curve; time probably better spent polishing your site based on a more traditional DB.
Also, while the tech looks good, I wasn't delighted to read this:
Reading the description it sounds virtually identical to what I know about CouchDB:
- Distributed document database
- Masterless replication
- HTTP interface
- Map-reduce-based query system
- Written in Erlang
Given that, and its relative obscurity compared to CouchDB, it seems odd that they only place where they bothered to compare the two was on the specifics of their map-reduced based query system.
On the question of performance, Riak's FAQ says the following:
We've found it to be fast enough for our purposes, and our goal is not to be "fastest" but rather to stay "fast enough" as the system grows, as hosts fail, and so on.
You know what they say, when you ask about a girl and she's just called "sweet", you know she's not a looker!
Riak's probably not appropriate for anyone without a cluster of over a couple dozen nodes, at least.
Not completely, but any argument I have would be hand-waving. Hence the "probably". The number (a couple dozen) was totally out of nowhere, just making a point here.
I should've added the disclaimer that I haven't used Riak, and hence nobody should take what I say seriously at all. It was just my impression from looking through the site.
I tried it when it was first announced, so the experience has probably been smoothed over a lot since then.
It has the steepest learning curve of any nosql database I've tried so far, but perhaps for people with more Map/Reduce familiarity that won't be the case. The biggest hangup was that Map/Reduce queries could only be written in Erlang, but now it seems they can be written in JavaScript too. That'll be a nice improvement.
The installation was a bit less straightforward than I would have liked, but it seemed to work fine after that.
I ended up going back to Redis, because I don't actually own enough hardware to make Riak worth using.
Now, it could very well be the case that nobody is using this in production, or at scale. Fine. Where's that disclosure, then? 100 whiz bang features is only one part of the process of evaluating a new piece of technology.