In a thoughtful and unsparing post, RethinkDB founder Slava Akhmechet used 2,598 words to detail the reasons for the open source database startup’s ultimate decline. Former MySQL executive Zack Urlocker, however, boiled it down to just four words:
“Open source is hard.”
Hard, despite a steady rise in NoSQL adoption. Hard, despite RethinkDB “ship[ping] quickly, mak[ing] RethinkDB fast, and build[ing] the ecosystem around it to make doing useful work easy,” as Akhmechet stressed. Hard, because building data infrastructure today either requires an open source approach or cloud-based delivery (or both), and startups struggle to compete with the likes of AWS when it comes to cloud. Unfortunately, it’s not getting any easier.
But for these two things, we were a rocket ship!
According to Akhmechet, RethinkDB was destined to be the second coming of MongoDB, with “correctness, simplicity, and consistency” the hallmarks of its better approach to NoSQL. There was just one hitch (actually, two): RethinkDB was competing in a “terrible market” (“the open-source developer tools market is one of the worst markets one could possibly end up in”) with a product that solved for the wrong things (“correctness, simplicity of the interface, and consistency are the wrong metrics of goodness for most users”).
In other words, RethinkDB “coulda been a contender” if only it had the right product in the right market.
Despite this somewhat tautological conclusion, I do admire Akhmechet’s willingness to come to grips with the fact that his business got bested by MongoDB, a product he viewed as distinctly inferior. By his own admission, RethinkDB was constantly three years behind the market, a market defined by MongoDB. He listed a slew of reasons that MongoDB was inferior, but then acknowledged: “MongoDB turned regular developers into heroes when people needed it, not years after the fact. It made data storage fast, and let people ship products quickly.”
Importantly, he added, “And over time, MongoDB grew up.” While RethinkDB was conceptualizing perfection, MongoDB was “good enough,” and made developers productive.
That said, Akhmechet’s biggest problem isn’t MongoDB. No, the same challenge looms for Oracle that threatens RethinkDB, MongoDB, and every other would-be database contender: The cloud.
The cloud will eat your database
Take a look at the databases making the fastest advances in overall popularity, and Amazon DynamoDB, Amazon Aurora, Microsoft Azure DocumentDB, etc. all top the list. If open source databases offered the 1.0 version of improved developer productivity, public cloud databases take us to 2.0, delivering significant improvements in flexibility and convenience.
The problem for a startup attempting this cloudy course of action is two-fold. First, enterprises generally don’t trust a startup to hold their data in the cloud. Second, as Akhmechet pointed out, “Building, shipping, and operating reliable multi-tenant cloud services is hard. It requires non-trivial expertise and resources,” expertise that effectively requires the database startup to excel at both building a database and operationalizing it at scale. That’s like two startups in one.
Not that startups have a choice.
As Redmonk analyst Stephen O’Grady noted in his newsletter, “Being challenged by massive incumbents and countering concerns around trusting data to a startup are real, serious problems. That being said, if the technology and more importantly the community story behind it is good enough, they are not intractable. And more to the point, it might not be optional for future players moving forward.”
Hard…but not optional. That describes the “opportunity” available to database startups.
For Akhmechet, he finally pulled the plug on the RethinkDB experiment after seven years and now works for Stripe. For the other 200-plus databases listed on the DB-Engines ranking, it may be time to follow his lead because, well, “open source is hard” … and cloud is even harder.