Live data from Hacker News

RethinkDB: why we failed (2017)

defmacro.org

201–210 of 237 posts

Re: RethinkDB: why we failed (2017)

#201

Database startups suffer from an extreme case of an important truism in startups generally: the product you think you are selling is not the product the customer thinks they are buying. No one buys a database per se , they are just a means to some other end. People that love database technology — that would be me — tend to start database companies. It is very difficult to sell a database. It is much, much easier to s…

On the other hand, any kind of technology in infrastructure is a prime candidate for open source, the incentives are just very much aligned there. Infrastructure tech makes for a great case that helps everyone while giving nobody a competitive advantage, that's why companies love doing or sponsoring it. On the other hand, open source tech in infrastructure helps get rid of vendor lock-in as in the worst case, you cou…

Some incentives are aligned for open source data infrastructure but others are clearly misaligned. In practice we just get a different type of less-than-great outcome. Open source data infrastructure is not a solved problem.

A question that lacks a satisfactory answer in open source data infrastructure is this: who is going to pay for the initial architecture to be state-of-the-art? Architecture is forever, if you start with a naive design it will put the platform at a long-term disadvantage. Most open source infrastructure projects are started by well-meaning people that have no idea what a state-of-the-art design even looks like. At the periphery you might be able to burn a giant pile of VC money to make it happen but that is not sustainable without a clear path to profitable exit. The set of people with the critical expertise and the set of people building open source data infrastructure are nearly disjoint.

Today, the money is in state-of-the-art bespoke data infrastructure. If the tradeoff is "open source" and "10-100x better on infrastructure KPIs", companies happily pay millions for the latter. People that know how to design this infrastructure are extremely well paid, 7-figures is common and demand is high. Yes, they could take a year off work and create an open source infrastructure project but this doesn't seem to happen and it is easy to understand why, as there are few incentives and many disincentives. This is roughly my area of business, I see the dynamics from the inside and the trend is not favoring open source.

If all of the cutting edge infrastructure development work is happening in closed source, whether cloud or state-of-the-art bespoke, it doesn't bode well for the long-term relevance of open source.

Re: RethinkDB: why we failed (2017)

#202
post #66

Earlier quoted context omitted.

I think that's his point. That's why he put "real world" in scare quotes.

I dont think so because he could have said it plainly since it was generally slow, but instead he implied that the use cases users were trying weren't "real world" use cases that fit within what a database of its class should be able to do. Hes not being totally honest about the performance issues and how much of an impact it had on their failure.

[deleted]

Re: RethinkDB: why we failed (2017)

#203
post #173

As someone using RethinkDB in production for the last 6 years or so: I am really disappointed by how software development world is dominated by fashions and fads. RethinkDB was done really, really well. It is one of the very few distributed databases that went through Jepsen relatively unscathed and delivered on promises made. Development was done in the public, questions were asked through StackOverflow. You interac…

I recommend reading this 3-part series on Mongo's marketing - it goes into a lot of detail why Mongo "won". https://www.nemil.com/mongo/1.html

As a former RethinkDB user (we have migrated to Postgres) I actually don't miss it as much as I would - JSONB in PG does what we need, and the real-time features of RethinkDB never really delivered because of various performance issues in the database itself.

Re: RethinkDB: why we failed (2017)

#205

Earlier quoted context omitted.

Honestly, as the person who is ending up having to do the RethinkDB migration... it's the lack of an AWS hosted solution that killed it for us. Even the import is a great experience and moving to MongoDB wasn't too bad (after a bit of cleanup)

Interesting, RethinkDB was really easy to setup. Three EC2 instances (cluster), install their apt repo, and install. There were a few config options[1], but really minimal and clean. [1] https://rethinkdb.com/docs/config-file/

Yeah, that's what we ran too, but there's a heavy internal push to use managed services.

Re: RethinkDB: why we failed (2017)

#206
post #34

This is akin to everyone’s dream to start a cozy, atmospheric coffee shop. These types of coffee bars fold very quickly or at best give founders years of servitude below minimum wage. The reason is that the type of behaviour this kind of establishment encourages - lounging, book reading, laptop work is exactly the opposite of the quick serve model that is conducive to high revenue. The customer loves this model, the…

> The customer loves this model, the owner hates it.

Only if the owner was trying to sell Coffee in the first place, which allegedly isn't Starbucks' main business: https://archive.is/9TZej

Re: RethinkDB: why we failed (2017)

#207
I had such high hopes for RethinkDB as a free and open source alternative to Firebase. FB was a great tool, but was never the same after getting purchased by Google (I quit following its progress shortly thereafter).

This article has less to do with databases or open source software than it does with the fundamentally misaligned incentives of egalitarianism and capitalism.

I wish there was a social open source license that said "you can use this indefinitely as long as you pay us something". The price would be up to the user but the generally accepted polite minimum would be at least a penny ($0.01).

Then businesses could publicly display their level of support (both initially and yearly) for the software they use, to attract customers. They could also be audited by the IRS, so a lack of patronage could correlate to a lack of equality and maybe even reveal corruption and other malfeasance. At the very least it would reveal a lack of internal controls.

This could work kind of like UBI for open source. And I'm definitely not the only one who has ever thought about this. But there is just so much free capital floating around right now that it's a great time to be thinking about how to reform the paradigms that we all depend on.

Re: RethinkDB: why we failed (2017)

#208

I distinctly remember their creative hiring tactics: They anonymously floated mysterious puzzles across the web. The solution was a domain name which had a static website yielding an email address. If you sent a email to that address they immediately asked you if you were interested in working for them. I know, because I solved one (The lure to solve the mystery was just too tempting to resist)

Did you also end up working there? Or just solved the puzzle, got the offer but refused?

I declared to be not interested. Just solved the puzzle to see what was behind that door.

Re: RethinkDB: why we failed (2017)

#209
post #155

Earlier quoted context omitted.

I can't follow this through, I'm interested in nosql databases because there are indeed patterns of access where a db as a key value store is helpful. > Querying is in pure JS, easy to do stuff programmatically. You mean you do your logic at the application layer? Like if you need X objects and Y objects where Y have an identifier to the X objects they're related to you build them in JS after retrieving them? What is…

Oh no, apologies for the lack of clarity. I would not get the whole thing and build it in the application layer before sending it to the client. If I want a particular array item nested a few levels in a JSON, the query as JSON object instead of query as an SQL is just a bit easier to put together (which is what i mean by pure JS). Sometimes, putting complex queries together takes fewer lines of code. Neither is real…

Thanks. I can see the utility of having separate components do their "own" full lifecycle even if I usually do tend to approach it in other ways, it's a valid take and can make sense (although as you said I think it can be done with SQL).

I agree with you on redis-like utilities being better for pure KV stores. If you resort to that sort of thing regularly and want to give another look into postgres you might want to give Elixir a try. It has first class support for postgres with Ecto, and you can use redis-like stores from the language itself, skipping serialization (a note is that, one of the valuable things in redis usually comes from being in a separate instance, many times managed automatically, and so almost being a permanent cache - to have exactly the same properties you would need to dig a bit deeper in Elixir, but still pretty doable with the language building blocks).

Re: RethinkDB: why we failed (2017)

#210

Earlier quoted context omitted.

Pretty much the entire sector is bad. In general, it's much better to be in a market where you customers cannot do you your job, not just one where they don't want to do your job. In the latter markets, they start asking "Why should I pay you to do something I can do myself?", or just start doing it themselves, and that holds down the price you can charge. This applies to a lot of familiar service businesses as well:…

But most companies could do things their suppliers do, because companies always have the option of hiring people with those skills and developing those competencies in house. E.g. Google moved from running their software in commercial datacenters to building their own, or how Amazon has progressively taken over more and more of the supply chain. Android is sold to firms that can build their own mobile operating syste…

That's an option in the same way that anyone can go back to college, specialize in pre-med, go to med school, complete residency, and then become a doctor. It's possible in theory. In practice, you're looking at a decade+ of your life, with significant risk that each step fails.

So it is with companies bringing core competencies in-house. Each step takes time, and is fraught with risk. It's not a matter of simply hiring people with the right skillsets. You need to know what the right skillsets are, and how to judge them. You need to hire managers and executives to oversee them. You need to convince all of the above people that they should work for this new company that's just entering the market and may reconsider in a couple years, vs. stick with their bread and butter that's been doing it for decades. Company leadership needs to prioritize integrating the new competency, which often means challenging a lot of their assumptions about how the business works. Investors need to be on board: integrating your suppliers often does bad things to your margins and costs. Tooling and capital investments need to be made, and they can take years to plan out and execute.

With developer tools specifically, the alternative to buying the product is often "We'll have a team of engineers spend a quarter or two building something that is specific to our needs", and no changes need to be made at the management/executive/personnel/financial levels. If, say, you're building a SaaS for a non-tech business, the alternative is "We need to learn how to manage software development processes, and hire a bunch of engineers, and get executive buy-in, and re-build the communication pathways in our org so this new division knows what to build." A lot of businesses actually try this, but the results have been predictably bad, and that creates a ready market for non-tech SaaS vendors.

Post reply on HN