[HN Gopher] MySQL at Uber
       ___________________________________________________________________
        
       MySQL at Uber
        
       Author : 0xFA11
       Score  : 78 points
       Date   : 2025-01-30 19:08 UTC (3 hours ago)
        
 (HTM) web link (www.uber.com)
 (TXT) w3m dump (www.uber.com)
        
       | vvladymyrov wrote:
       | More posts about mysql from Uber - it is interesting to compare
       | state of Mysql in Uber with 2016.
       | 
       | * Why Uber Engineering Switched from Postgres to MySQL (2016)
       | https://news.ycombinator.com/item?id=26283348
       | 
       | * Upgrading Uber's MySQL Fleet
       | https://news.ycombinator.com/item?id=41836748
        
         | jppope wrote:
         | The comments are pretty interesting. There was a discussion
         | about how different they were trying to make the public image
         | about their tech look compared to their actual usage -
         | supposedly to entice more engineers to join.
         | 
         | I think its interesting to attach any company prominently to a
         | database technology since theoretically there would be varied
         | use cases across an org like uber which would likely want
         | different technologies depending on those use cases. Of course
         | they might just have 50 other articles like this for all the
         | other tech they use.
        
         | ggregoire wrote:
         | Another interesting one about their Storage Platform (which
         | includes MySQL): https://www.uber.com/blog/odin-stateful-
         | platform
         | 
         | > The [Odin] platform supports 23 technologies, ranging from
         | traditional online databases such as MySQL(r) and Cassandra(r)
         | to advanced data platform technologies, including HDFS(tm),
         | Presto(tm), and Kafka(r).
        
       | bratao wrote:
       | Every six months, I explore switching from MySQL to something new
       | for a more modern tech stack. However, MyRocks
       | (https://docs.percona.com/percona-server/8.4/myrocks-index.ht...)
       | is truly impressive. It allows me to efficiently compress my
       | text-rich rows.
        
         | chasd00 wrote:
         | Read the parent post to this one, AI slop has an uncanny valley
         | associated with it. Somehow it sticks out like a sore thumb but
         | i can't put my finger on why.
        
           | willvarfar wrote:
           | I don't know, I didn't spot that this was AI generated.
           | Perhaps because there's some truth that MyRocks is actually
           | really good at compression.
           | 
           | Back when I was exploring migrating from TokuDB to MyRocks
           | the only problem with it was that it didn't have a file per
           | partition, meaning if you were doing retention you couldn't
           | just drop old daily partitions cheaply.
        
       | lelandfe wrote:
       | Looks like Uber's ditched their expensive designers for AI on
       | their corporate blog's lead images.
        
         | PaulHoule wrote:
         | It reads like AI slop too. Not so sure why it is getting voted
         | up.
        
           | heyoni wrote:
           | People see uber tech blog and jump straight to upvoting.
        
             | PaulHoule wrote:
             | I remember when that blog used to be top notch.
             | 
             | Today it just seems odd that anybody is still using MySQL.
             | Postgres? Sure. SQLlite? Hell yeah! DuckDB? Of course.
             | MySQL? Not so much.
        
               | bigmutant wrote:
               | Absolutely not true in my experience. MySQL has its share
               | of issues (all DBs do) but it is rock-solid when using
               | the correct engine (InnoDB for most cases, RocksDB for
               | high-throughput writes, Memory for caching). MySQL is
               | very hard to beat for very high-volume OLTP workloads,
               | both reads and writes. Its replication systems were years
               | ahead of other systems (SQL Server, Postgres, SQLite
               | doesn't have replication). DuckDB AFAIK is OLAP and they
               | don't compete in the same space. Every DB system has "the
               | things its good at" and MySQL really shines at very high-
               | volume OLTP spread across partitions.
        
               | kyawzazaw wrote:
               | we are almost all in MySQL. we are also old and 500b
        
       | noname120 wrote:
       | Is it just me or all the diagram images are broken? It looks like
       | the lazy-loading is not working. I tried on archive.org and
       | archive.is and same issue: the images didn't load.
       | 
       | Edit: yeah those images have their src attribute in the form of
       | "lh7-rt.googleusercontent.com/docsz/[VERY LONG SLUGS]" and a
       | quick look at the dev console shows that Google returns "429 Too
       | Many Requests" for all of them.
       | 
       | I guess they just copy-pasted the URLs from some Google Doc and
       | tried to hotlink them here? Interestingly if you access these
       | directly (instead of embedded into Uber's blog) then they display
       | fine and Google doesn't complain with a 429.
        
         | mousetree wrote:
         | Broken for me too.
        
         | jakub_g wrote:
         | Looks like images are broken in a lot of posts on this blog
        
         | zlagen wrote:
         | it may be that google is checking the referer header.
        
       | tofukant wrote:
       | This is ai written garbage
        
         | noname120 wrote:
         | I ran the text through several AI detectors and they all
         | returned 0% AI 100% human.
         | 
         | The cover image is however:
         | 
         | > Cover Photo Attribution: The cover photo was generated using
         | OpenAI ChatGPT Enterprise.
        
         | scarface_74 wrote:
         | I ran this through ChatGPT and it found a few grammatical
         | errors - that I agree with - and awkward wording. Usually AI
         | generated text doesn't have these types of errors.
         | 
         | It reads like a standard corporate blog post. You can find
         | plenty of those on AWS blogs that were written before LLMs were
         | publicly available.
        
         | arccy wrote:
         | this comment is ai written garbage
        
         | layer8 wrote:
         | Your AI detector seems to be in need of recalibration.
        
       | wordofx wrote:
       | Uber is not a company worth following for technology. It's like a
       | bunch of juniors using tech wrong and changing tech as a solution
       | to a non existent problem.
        
         | davidczech wrote:
         | They used to produce some neat stuff. Jaeger and Cadence were
         | quite cool.
        
         | astrange wrote:
         | I always got the impression their tech stack was designed to be
         | as complicated as possible so they could hire juniors who
         | thought it looked cool.
        
       | feverzsj wrote:
       | Even the authors listed at end looks like AI generated.
        
       | aeyes wrote:
       | So if these clusters are using binlog replication, do they just
       | ignore the possibility of lost writes and inconsistent data after
       | a failover?
        
         | matthewaveryusa wrote:
         | Correct, you would need to use something like galera clustering
         | or synchronous replication to not lose writes.
        
         | bigmutant wrote:
         | That all depends on the setup. The "standard" setup (not
         | specific to MySQL) is:
         | 
         | - Single Write Leader per partition
         | 
         | - Backup Write Leader that is setup with synchronous
         | replication (so WL -> WLB and waits for commit)
         | 
         | - Read Followers all connected asynchronously using either
         | binlog replication (not recommended anymore) or GTID-based row
         | replication (recommended)
         | 
         | In the above scenario, the odds of loss are pretty small since
         | the Write Leader has a direct backup, and any of the Read
         | Followers can be promoted to a Write Leader/Backup. DDIA calls
         | the above semi-synchronous replication, although MySQL now
         | supports a similar-but-slightly different version out of the
         | box: https://dev.mysql.com/doc/refman/8.4/en/replication-
         | semisync...
        
       | hipadev23 wrote:
       | Uber you guys need to delete this, the quality of this post is
       | absolutely embarrassing.
        
         | noname120 wrote:
         | Too late I already archive.org'd it lol:
         | https://web.archive.org/web/20250130201835/https://www.uber....
        
       | 4ndrewl wrote:
       | Page is 404-ing now.
        
       | andrewmcwatters wrote:
       | I'm amazed how I've worked with all of the critical technologies
       | in this article, I've dealt with the same or similar concerns,
       | and yet the author or authors have written this engineering blog
       | post in such a way as to not convey anything meaningful at all.
       | 
       | One part of it is the constant talk of high level abstract
       | infrastructural pieces, and the other is bad product or concept
       | naming.
       | 
       | Odin, "the controller," the constant obsession with certain
       | engineering orgs to use words like "plane," and likewise,
       | "fabric" was used at a previous org I worked for.
       | 
       | I'm sure Uber is doing Real(tm) Work, but this kind of crap sets
       | off all my wank and bullshit alarms.
       | 
       | It's just clients talking to servers talking to servers talking
       | to proxies talking to servers talking to databases talking to
       | replicas. Can you please stop with the false high engineering
       | bullshit?
        
         | arccy wrote:
         | the plane separation is important though, you want to ensure
         | your control messages always go through, like how servers have
         | a dedicated line for management.
        
       | calmbonsai wrote:
       | This is an embarrassment and just one more example of how far
       | this enterprise has fallen.
       | 
       | Even as a consumer, I've stopped using Uber due to, of all things
       | "biz 101", incompetent billing.
        
       | noname120 wrote:
       | Mirror with working images:
       | https://web.archive.org/web/20250130201835/https://www.uber....
        
       | kingnothing wrote:
       | No mention of Schemaless? Was that retired?
        
       | SaintSeiya wrote:
       | Disgusting company: Uber takes 70% cut from rider's fare, drivers
       | made only 30% on top of that Uber place those stolen earnings in
       | the driver's tax report, not on them.
        
         | kazinator wrote:
         | That sounds extremely improbable.
         | 
         | You simply cannot take 70% from the revenue coming from an
         | employee-like agent, yet report that to the government as being
         | that person's income. Not only would that be blatant fraud, but
         | depending on the exact percentages and absolute amount, the
         | employee might have to give all their pay to the government to
         | covert the tax, and even owe some more after that.
         | 
         | In what country are they doing this?
        
       | kazinator wrote:
       | When people say MySQL nowadays, do they really mean MySQL, or
       | MariaDB?
        
       ___________________________________________________________________
       (page generated 2025-01-30 23:01 UTC)