News for hackers. Stuff that matters.
Re:Why Uber Engineering Switched from Postgres to MySQL (2016) by junon on Saturday February 27, 2021 @11:15AM (#26285755)
There's some historical context for this article. 2016 was a year of RAPID growth for Uber. There was a running statistic internally that your employee ID would be at the median point just 6 months after being hired.

They were trying to hire (and poach) just about anyone they could around this time. Therefore, these articles are... very shiny, compared to the actual tech applied internally (note that even though Uber is referred to in the third person here, this is on uber.com and written by an Uber employee).

I worked at Uber for a year. Schemaless was... meh. Nobody really liked using it, nobody really understood it, and you weren't really allowed to host your own instance - you had to have another internal team do it for you, which didn't help the "understanding" problem.

It smelled distinctly of "not invented here" syndrome. A number of things inside Uber worked that way - the culture was so competitive and brutal, performance reviews were always a massacre, so everyone was trying to outshine their peers (or outright climb on their backs, etc).

This resulted in a LOT of "tech" being "invented" that 1:1 did something already prominent in open-source or was already an enterprise solution (probably cheaper than paying engineers to do it) but since actually achieving it and having your name on it meant you would look better for a promotion or a bonus or whatever over a colleague meant it was worth it to the individual to reinvent the wheel. Rinse and repeat over and over again.

I'm not an enemy of reinventing the wheel, mind you. But only if the new wheel works significantly better than the old one. This was rarely the case at Uber.

Postgres was still used somewhat commonly at Uber when I was there, but they were really pushing for Schemaless internally. It felt very overkill for just about everything outside the platform teams and was always, without fail, a massive pain to deal with.

Don't be fooled by these Uber engineering articles. This was PR to bolster up their OSS image to outsiders to help with hiring and poaching at the time. Things internally looked very different.

Re:Why Uber Engineering Switched from Postgres to MySQL (2016) by midrus on Saturday February 27, 2021 @11:39AM (#26285938)
I think this applies to most companies. What they write in their blogs is a shiny, optimistic, limited view of the best part of their best system or similar. Once inside, things are never that great.

I myself was very ashamed of a company I worked for (also SF based) blog post... even the author of the post was a very well known open source maintainer of many libraries of a very popular programming language. Reading the posts in the blog was like.... I cannot believe we lie this big... internally things were just crap, and what the blog post made look like it was the norm, was just a side project of this person.

So, never trust companies blog posts by default.

Re:Why Uber Engineering Switched from Postgres to MySQL (2016) by mlthoughts2018 on Saturday February 27, 2021 @11:54AM (#26286060)
I agree. I once worked for a company that wrote a blog post on reinventing and upgrading A/B tests, but the ugly truth was that the company couldn’t run an A/B test to save its life. Every A/B test was a disaster, there were fragmented different frameworks for A/B tests in different parts of the product, with inconsistent and unreliable data, and the core clickstream ingestion system that was the foundation for any possible way of testing would crash and go down for hours every few weeks, and product management would just silently ignore any effects of missing data or correlation between failures in different product features. Even though we had a team of statistical researchers, they were treated as if legit stats 101 concerns were just ivory tower academic hair splitting and often were silently omitted from being in A/B test design, recap or decision meetings, which were instead run by product managers with no stats training.

I remember interviewing a candidate once who said he was excited about the role because of that A/B testing blog post, and I just thought - geez what a completely soulless bait and switch ploy.

Re:Why Uber Engineering Switched from Postgres to MySQL (2016) by fma on Saturday February 27, 2021 @12:01PM (#26286147)
Can we maybe get a list of company blogs that are legit? As in they practice what they preach?

Facebook, Amazon, Netflix Google, Microsoft comes to the top of my head but someone is free to burst my bubble.

Re:Why Uber Engineering Switched from Postgres to MySQL (2016) by staticassertion on Saturday February 27, 2021 @12:58PM (#26286662)
Cloudflare's blogs seem far less markety and far more about sharing interesting technical wins.
Re:Why Uber Engineering Switched from Postgres to MySQL (2016) by noir_lord on Saturday February 27, 2021 @03:06PM (#26287684)
I've dealt with cloudflare people semi-regulary recently and they seem to know their shit, they also (from an outside perspective) seem to have a really good culture.

Questions get answered quickly and with a level of detail appropriate to the person asking.

Really impressive given the usual "Enterprise(TM)" level of support from most service suppliers.

Re:Why Uber Engineering Switched from Postgres to MySQL (2016) by spiralx on Saturday February 27, 2021 @02:36PM (#26287493)
Figma and Instagram have had good articles on their blogs, although I'm not a regular follower of either.
Re:Why Uber Engineering Switched from Postgres to MySQL (2016) by gigantecmedia on Sunday February 28, 2021 @04:57AM (#26292122)
agree, figma and sketch have fairly good and interesting articles. used both of them, love their products and vision.
Re:Why Uber Engineering Switched from Postgres to MySQL (2016) by supergirl on Saturday February 27, 2021 @12:24PM (#26286324)
is schemaless still the db now?
Re:Why Uber Engineering Switched from Postgres to MySQL (2016) by junon on Saturday February 27, 2021 @03:36PM (#26287914)
No idea, but I would wager so. The scale it was being used at would be hard to replace, and they'd have little reason to do so.

EDIT: To be clear, there is no "the DB" at Uber. It was the main database flavor that the larger teams used, but they used everything at Uber, from MySQL to postgres, to mongo, etc. Sometimes with things on top, sometimes directly. For more analytical/financial things, they used HBase/Hadoop/Cassandra, or even older things like old IBM database tech from the 80's. Really weird mix of stuff, and it really depended on which high-profile engineers they hired in which part of the company.