News for hackers. Stuff that matters.
Re:MariaDB ditches products and staff in restructure by jarym on Sunday October 15, 2023 @11:34AM (#37890598)
> The company won praise from analysts for the engineering behind the products.

A bit like a McDonalds fan praising an upmarket restaurant on the quality of their food.

Ok, bit of a cheapshot. In seriousness, I never fully understood MariaDB - there may have been a concern about Oracle's plans for MySQL but was that really enough to start a for-profit corporation?

And in the meantime, the big cloud vendors did a decent job of offering their own SQL options. And then we have Postgres - it was always technologically superior to MySQL but over the past few years its become as easy to deploy and run as MySQL was.

I just don't see what segment or differentiator remained for MariaDB as a for-profit corporation.

Re:MariaDB ditches products and staff in restructure by ekianjo on Sunday October 15, 2023 @11:45AM (#37890711)
MariaDB is for companies that rely on MySQL and don't want to migrate to a non-MySQL solution, for various reasons.
Re:MariaDB ditches products and staff in restructure by zmxz on Sunday October 15, 2023 @11:50AM (#37890757)
So basically, why use MySQL when there's Postgres and why fork occurred back when Oracle acquired MySQL even though at that time it was unclear what might happen to MySQL and companies that use it? Would my interpretation be correct?

And no, Postgres was never technologically superior. I'm sure this will spawn the debate where numerous proofs in form of blogs and "As a $big_title_that_makes_me_sound_legitimate", looking forward to seeing it.

Re:MariaDB ditches products and staff in restructure by traceroute66 on Sunday October 15, 2023 @11:59AM (#37890849)
> concern about Oracle's plans for MySQL but was that really enough to start a for-profit corporation

Perhaps even more so because Percona already pre-dated MariaDB.

Also as I understand it Percona is much closer to Oracle MySQL than MariaDB because MariaDB was a point-in-time fork on 5.5.

Re:MariaDB ditches products and staff in restructure by samlambert on Sunday October 15, 2023 @12:05PM (#37890901)
I see the “Postgres is technology superior” take on hn all the time. Can you actually back that up?

Can you explain why the dozens or so Postgres scale up solutions don’t use real Postgres?

Or why anyone at scale with Postgres migrates away?

https://www.uber.com/en-US/blog/postgres-to-mysql-migration/

This outage would have been a lot less likely with MySQL because of redo logs which MySQL has had for a decade. But Postgres replication is under developed. https://about.gitlab.com/blog/2017/02/10/postmortem-of-datab...

Facebook has evaluated every database on the planet and still uses MySQL. https://engineering.fb.com/2021/07/22/core-infra/mysql/

When MySQL has more users, can scale significantly more, runs some of the largest sites on earth, and even lends its storage engine to other databases like Dynamo you should backup your claims that Postgres is technically superior. Please.

Re:MariaDB ditches products and staff in restructure by otabdeveloper4 on Sunday October 15, 2023 @12:12PM (#37890971)
Yes, Postgres is a toy database that can't do replication correctly. You are not wrong.
Re:MariaDB ditches products and staff in restructure by keep_reading on Sunday October 15, 2023 @12:52PM (#37891339)
Postgres replication features have lagged behind but were never dangerous.

MySQL has multiple edge cases where things on the master will not happen on the slave depending on which replication method you've selected and which features you're using. MySQL is the issue here.

Re:MariaDB ditches products and staff in restructure by bbatha on Sunday October 15, 2023 @12:47PM (#37891285)
Postgres still has a ways to go for scale but has improved substantially in replication options since that 2017 article. Sharding has also seen a lot of upstream patches from enterprise db and other commercial providers since then. Upgrades in particular are still a sore spot.

Also note that folks aren’t running giant vanilla MySQL clusters. They’re running it through vitess or home grown tools with similar functionality.

Finally MySQL gets performance in these large setups by turning off features like foreign keys, acid guarantees etc. it’s awesome and powerful that you can do this in MySQL but it’s not apples to apples here. MySQL has also improved a lot on these dimensions in the last few years.

The other reality here is that on nvme hardware with a few tb of ram you can get away with a basic reader writer replica setup for a long time.

Re:MariaDB ditches products and staff in restructure by samlambert on Sunday October 15, 2023 @12:51PM (#37891330)
Vanilla MySQL vs vanilla Postgres. MySQL still wins on scale. You run single MySQL servers with 70,000 connections, you can't get close on Postgres because of a fundamentally broken connection-per-process model. The Neon team suggested changing that and got flamed by the community.

I was at GitHub in 2017 when that GitLab outage happened. We had 60 million users running on vanilla MySQL no Vitess at that point. We had 10 million users literally running on 3 MySQL servers. Don't pretend that even now Postgres can do that.

Re:MariaDB ditches products and staff in restructure by CAP_NET_ADMIN on Sunday October 15, 2023 @01:42PM (#37891738)
I have 5 million users running on PostgreSQL, 3 dedicated servers (primary + 2 replicas), we use less than 190 connections, vanilla PostgreSQL and no things like pgbouncer.
Re:MariaDB ditches products and staff in restructure by samlambert on Sunday October 15, 2023 @02:02PM (#37891899)
Right. In 2023. This was possible in 2013 with MySQL.
Re:MariaDB ditches products and staff in restructure by winrid on Sunday October 15, 2023 @02:53PM (#37892323)
It was possible with PG in 2013 too, with only 190 connections...
Re:MariaDB ditches products and staff in restructure by justinclift on Sunday October 15, 2023 @01:11PM (#37891512)
While MySQL being able to scale is nice and all, it's had serious problems with even keeping basic data integrity for the data people hand it... for decades.
Re:MariaDB ditches products and staff in restructure by bombcar on Sunday October 15, 2023 @01:45PM (#37891763)
This is the root of it all - for years and years MySQL was perfectly capable of doing the needful, but it shipped with default configurations that would do things like use "not_quite_really_UTF8" and "myisam_tables_please_no_acid".

If you knew enough to switch to innodb and "mysql_real_utf8_string" or whatever it was, you had a quite performant and stable system.

Re:MariaDB ditches products and staff in restructure by justinclift on Sunday October 15, 2023 @02:11PM (#37891957)
There have also been numerous horror stories where people discovered (after the fact) that MySQL wasn't storing their data as given, but instead internally silently converting it to some other format/type and storing that.

People that directly experienced this very thing will probably chime in to give examples (etc). :)

Re:MariaDB ditches products and staff in restructure by jarym on Sunday October 15, 2023 @02:36PM (#37892162)
Yep - ME! Happened to ME! Now some will blame bad development, should have caught it in the application code via testing, etc.

A 'true' DBMS will provide some guarantees and rather fail a transaction than do a 'best endeavours' job with it.

Re:MariaDB ditches products and staff in restructure by anonacct37 on Sunday October 15, 2023 @06:47PM (#37894110)
You hit the nail on the head, those were my top two complaints, but the rabbit hole goes deep.

It's not an exaggeration to say that trying to keep mysql from corrupting your data feels like a full-time job. Mysql in many ways, especially as used by massive social media companies early on was closer to a SQLish DSL for a non-transactional kv store than a "real" ACID database.

That's why "but it can do 70k rps" is just noise to someone. I don't care how fast it can lose my data.

I'm all for people needing to read the docs but man a database burns trust pretty fast when it's so easy to have it pretend to support transactions or pretend to support utf8.

Re:MariaDB ditches products and staff in restructure by jarym on Sunday October 15, 2023 @02:34PM (#37892142)
That was my biggest gripe with it - at least back in the day. Back then it really felt like MySQL vs Postgres was a trade-off between 'easy but no guarantees on data integrity' and 'correct but operationally harder to manage'.

The gap has for sure closed in many areas but I still feel safer with Postgres today because there's been little reason for me to try MySQL again.

Re:MariaDB ditches products and staff in restructure by karmakaze on Sunday October 15, 2023 @03:11PM (#37892479)
Can we restrict our discussion to the situation now. If default configs result in data corruption, that's an issue. If an older version in the past decade does, that's of less interest.
Re:MariaDB ditches products and staff in restructure by justinclift on Sunday October 15, 2023 @06:17PM (#37893907)
So, you're saying you want people to ignore the decades of misleading marketing ("no-one needs transactions!"), data corruption, and unsafe default settings from the MySQL crowd... just because it's convenient to your argument?

Good luck with that.

Re:MariaDB ditches products and staff in restructure by evanelias on Sunday October 15, 2023 @07:26PM (#37894359)
MySQL's default storage engine has been InnoDB -- a high-quality OLTP storage engine which is fully ACID compliant -- for thirteen years now.

Meanwhile MySQL's default settings have included strict sql_mode (giving a hard error on data type mismatches, overflows, etc) for eight years.

These have been available as non-default options for 20+ years, and larger MySQL users have long enabled them before they were defaults.

Yes, the defaults certainly should have changed earlier, especially re: strict sql_mode, I won't dispute that. However on the default storage engine side, the historical reasoning makes perfect sense: InnoDB and MySQL were owned by different companies. Oracle purchased the makers of InnoDB in 2005 and didn't purchase Sun (incl MySQL) until 2010. Once both products were owned by Oracle, they made InnoDB the default storage engine in the next major MySQL release that same year.

In any case, your claims of "decades of misleading marketing" about transactions is completely fictional. This simply did not happen for "decades" and has not been a discussion point of any sort for a very, very long time. Serious MySQL shops were never using MyISAM at scale in the first place.

Re:MariaDB ditches products and staff in restructure by justinclift on Sunday October 15, 2023 @08:13PM (#37894613)
Yeah, good luck with that.
Re:MariaDB ditches products and staff in restructure by evanelias on Sunday October 15, 2023 @10:07PM (#37895237)
> Yeah, good luck with that.

That's a completely nonsensical reply to the contents of my comment. I'm not the same person you were originally responding to up-thread.

Re:MariaDB ditches products and staff in restructure by justinclift on Sunday October 15, 2023 @10:10PM (#37895258)
Yeah, good luck with that.
Re:MariaDB ditches products and staff in restructure by samlambert on Monday October 16, 2023 @09:31AM (#37899653)
Lost the technical argument. Falls back to immaturity.
Re:MariaDB ditches products and staff in restructure by justinclift on Tuesday October 17, 2023 @06:56AM (#37913092)
Alternatively, I don't have the energy to deal with people pushing misinformation. :/
Re:MariaDB ditches products and staff in restructure by evanelias on Tuesday October 17, 2023 @03:38PM (#37920484)
You chose to come into a thread about MariaDB, you wrote some verifiably factually incorrect statements about MySQL, and then you complain about not having the energy to discuss further?

I took time out of my Sunday to write a fact-based rebuttal to your false claims in this thread. The dates in my comment are all verifiable on Wikipedia, among other places. And yet your response is childish repetition, followed by a citationless comment claiming that my own comment was misinformation.

Since you're a Golang enthusiast (as am I), perhaps I can reframe this in a more relatable way. Imagine that it's the year 2035, and there's an HN thread about Golang. Some Go-hater chimes in that no one should ever trust Go because of decades of misleading marketing ("no one needs generics!"), GOPATH being stupid, and lack of a module dependency system. What would your response to this be in 2035, knowing full well that these issues were far in the past and that the claim of "decades" is at best an extreme exaggeration?

Re:MariaDB ditches products and staff in restructure by justinclift on Wednesday October 18, 2023 @01:35AM (#37925161)
> you wrote some verifiably factually incorrect statements about MySQL

That's the kind of bullshit I'm meaning. I have no energy left to deal with trolls, and that means you.

Re:MariaDB ditches products and staff in restructure by evanelias on Wednesday October 18, 2023 @10:34AM (#37929269)
MySQL was first released in 1995.

A decade is 10 years. Plural decades means 20 or more years.

You claimed MySQL made decades of misleading marketing about transactions. That would mean they were making such statements in 2015 or later.

That is verifiably factually incorrect, considering that InnoDB (a fully ACID-compliant storage engine) was made the default storage engine in 2010, and prominent MySQL users had already switched to InnoDB en masse from 2005 to 2008, some even earlier. The previous storage engine (MyISAM) was garbage that wasn't even crash-safe, so at scale its deficiency was plainly obvious.

I am not posting "bullshit" or "trolling". Your statement was incorrect and this is simple date math.

Re:MariaDB ditches products and staff in restructure by rjh29 on Sunday October 15, 2023 @05:22PM (#37893505)
But now strict mode is on by default, the situation has improved substantially.
Re:MariaDB ditches products and staff in restructure by bbatha on Sunday October 15, 2023 @01:05PM (#37891463)
Agreed

However, you can absolutely run that many users on a Postgres cluster of that size today on modern hardware. Connections are absolutely a sore point and probably my number one pain point as a Postgres admin day to day. Pg bouncer is incredibly easy to run though. You rarely actually need 70,000 connections most will be idle most of the time anyway it’s not like MySQL can actually serve 70,000 queries on 70,000 connections simultaneously. But it certainly makes administration and the programming model more difficult.

Re:MariaDB ditches products and staff in restructure by samlambert on Sunday October 15, 2023 @02:03PM (#37891903)
70k QPS is easy on a single MySQL.
Re:MariaDB ditches products and staff in restructure by bbatha on Sunday October 15, 2023 @02:41PM (#37892199)
Same with Postgres. Qps != active connections.
Re:MariaDB ditches products and staff in restructure by iamdanieljohns on Sunday October 15, 2023 @10:01PM (#37895215)
What do you think of Supavisor[0] ?

[0] https://supabase.com/blog/supavisor-1-million

Re:MariaDB ditches products and staff in restructure by samlambert on Sunday October 15, 2023 @12:52PM (#37891341)
Also Vitess has foreign keys shipping every soon.
Re:MariaDB ditches products and staff in restructure by evanelias on Sunday October 15, 2023 @04:52PM (#37893293)
> Finally MySQL gets performance in these large setups by turning off features like foreign keys, acid guarantees etc.

Large MySQL users are generally not turning off acid guarantees. That is nonsense. What settings are you even specifically referring to with this?

On the durability side, large MySQL shops only mess with innodb_flush_log_at_trx_commit if there's a safe distributed durability mechanism in use (e.g. synchronous or semi-synchronous replication). Or perhaps if the data is ephemeral/recomputable, but that's a similar use-case to running Postgres on a ramdisk.

On the isolation side, MySQL supports READ UNCOMMITTED (unlike Postgres) but it is very rarely used. Only useful for some specific situations. fwiw MS SQL Server supports it too, it's not a MySQL specific thing.

Re:MariaDB ditches products and staff in restructure by jitl on Sunday October 15, 2023 @12:56PM (#37891373)
Postgres has a reputation for correctness and does have some more specialized features, column, and index types. It’s also totally fine and dandy at small-medium size. Fully transactional DDL and online schema migrations put it ahead of MySQL at those scales too.

But I agree that MySQL is easier to use at high scale for its superior replication story, 3rd party tooling, and pragmatism. If you’ve only run small Postgres you don’t know the fear of the query planner suddenly going AWOL at 3am, or needing to shard your database under duress as you watch the Postgres transaction ID stick closer and closer to overflow because VACUUM won’t finish. You haven’t needed to stress out about the super low practical connection limit and build a cluster of Postgres proxies using PGBouncer or similar.

Related blog post by a teammate: https://www.notion.so/blog/sharding-postgres-at-notion

Re:MariaDB ditches products and staff in restructure by v3ss0n on Sunday October 15, 2023 @01:05PM (#37891461)
MySQL have unfixable legacy code for scalability that world top database engineer gave up and asked users to stop using.. https://www.google.com/amp/s/www.theregister.com/AMP/2021/12...

facebook was build using pho mysql since start, by the time they have billion dollar valuation 8ts too late for them to change.

Re:MariaDB ditches products and staff in restructure by endisneigh on Sunday October 15, 2023 @01:48PM (#37891792)
Considering the source take it with a grain of salt
Re:MariaDB ditches products and staff in restructure by v3ss0n on Monday October 16, 2023 @04:26AM (#37897075)
Oracle engineer who is tasked to work on MySQL optimizations is not a good source?
Re:MariaDB ditches products and staff in restructure by endisneigh on Monday October 16, 2023 @05:14AM (#37897387)
A single departing employees opinion is not definitive, no. Considering both YouTube and Facebook use modified MySQL I’m skeptical there’s some inherent structural disadvantages.

Not to mention no technical reasoning is given at all, so yes take the article with a grain of salt.

Re:MariaDB ditches products and staff in restructure by samlambert on Sunday October 15, 2023 @02:17PM (#37892018)
They have reevaluated multiple times.
Re:MariaDB ditches products and staff in restructure by otabdeveloper4 on Sunday October 15, 2023 @12:11PM (#37890958)
> ... it was always technologically superior to MySQL

No, it wasn't, and still isn't.

MySQL supports replication correctly and out of the box, Postgres still hasn't figured this out.

(Replication is the #1 important feature for any setup that is larger than one server.)

Re:MariaDB ditches products and staff in restructure by junon on Sunday October 15, 2023 @12:22PM (#37891052)
> Replication is the #1 important feature for any setup that is larger than one server

That's... just replication. And postgres handles replication fine in my experience, I could in fact say the opposite about MySQL. What issues do you have with it?

Re:MariaDB ditches products and staff in restructure by samlambert on Sunday October 15, 2023 @12:34PM (#37891165)
Please do say the opposite about MySQL. Tell us what is wrong with it? Linkedin use MySQL replication to ship data across regions and rebuild caches the other side because other protocols are too unreliable.

Postgres documents that their replication protocol can lose committed transactions. https://patroni.readthedocs.io/en/latest/replication_modes.h...

Looking real good.

Re:MariaDB ditches products and staff in restructure by jvdongen on Sunday October 15, 2023 @01:02PM (#37891426)
This is a disingenuous comment at best.

As explained in the docs you link to, Postgres has both synchronous and asynchronous replication modes.

In asynchronous mode availability is favored over durability. Which means commits can get lost when the primary goes down in an uncontrolled fashion.

In sync mode that will not happen at a cost to some performance.

It’s the same trade-off any distributed system has to make, and the user gets to make the choice.

Re:MariaDB ditches products and staff in restructure by Spivak on Sunday October 15, 2023 @02:23PM (#37892066)
MySQL can actually do one better which is semisync. The transactions get replicated synchronously but applying them is async. You can't lose data anymore due to a primary failure.
Re:MariaDB ditches products and staff in restructure by jvdongen on Sunday October 15, 2023 @04:43PM (#37893238)
Postgres has a similar feature, if you chose ‘remote_write’ for the ‘synchronous_commit’ setting.

You can also mix and match sync/ascync options within a cluster and even between individual transactions.

Recent versions of Postgres have a really flexible replication configuration to cover a whole range of requirements. See e.g. https://www.postgresql.org/docs/current/warm-standby.html#SY...

Re:MariaDB ditches products and staff in restructure by keep_reading on Sunday October 15, 2023 @01:21PM (#37891587)
MySQL actually documents their atrocities: https://dev.mysql.com/doc/refman/8.0/en/replication-sbr-rbr....

Let me TLDR them for you

> Advantages of statement-based replication: Proven technology, can be used as an audit log

> Disadvantages of statement-based replication: INSERT DELETE, UPDATE, and REPLACE may not replicate correctly

Are you getting worried yet?

> Advantages of row-based replication: All changes can be replicated.

> Stored functions execute with the same NOW() value as the calling statement. However, this is not true of stored procedures.

Wonderful. Also not a problem in Postgres AFAIK because you're replicating the WAL so it doesn't need to execute it locally.

Don't forget about the pitfalls of replicating CREATE USER and ALTER USER in MySQL

https://www.percona.com/blog/what-if-the-user-exists-on-the-...

MySQL has improved things in recent years but this list used to be much larger. Just go look through their bug tracker. It's not something that instills confidence and I need to deploy databases I can trust will not eat my data. I've had too many customers with broken MySQL databases over the years and zero with Postgres.

Re:MariaDB ditches products and staff in restructure by samlambert on Sunday October 15, 2023 @02:14PM (#37891985)
Statement based replication is not the default in MySQL.
Re:MariaDB ditches products and staff in restructure by evanelias on Sunday October 15, 2023 @04:38PM (#37893195)
> Disadvantages of statement-based replication

Statement-based replication is deprecated: https://dev.mysql.com/doc/refman/8.0/en/replication-options-...

> Stored functions execute with the same NOW() value as the calling statement. However, this is not true of stored procedures.

That's from the "disadvantages of statement-based replication" section, not the row-based replication section. So to recap, the disadvantages you've quoted from the manual are specific to statement-based replication, which is deprecated.

> Don't forget about the pitfalls of replicating CREATE USER and ALTER USER in MySQL

As mentioned in that Percona blog post, all you need to do is add IF EXISTS / IF NOT EXISTS to your SQL and it solves the problem. Or in MariaDB, you also have the option of CREATE OR REPLACE syntax.

Sure, it's a minor footgun for newbies, but not exactly a horrendous problem.

Re:MariaDB ditches products and staff in restructure by otabdeveloper4 on Sunday October 15, 2023 @12:34PM (#37891169)
Postgres doesn't handle replication fine. It has two replication mechanisms, and both lack critical features and are broken by design.

(Most of the problem comes from the fact that Postgres hasn't figured out that they need a standardised replication event wire protocol to do this correctly.)

Re:MariaDB ditches products and staff in restructure by Spivak on Sunday October 15, 2023 @02:25PM (#37892075)
> both lack critical features and are broken by design

I bet AWS gets a lot of money for their DMS service for fixing this.

Re:MariaDB ditches products and staff in restructure by optymizer on Sunday October 15, 2023 @12:36PM (#37891183)
10-15 years ago, the MySQL cli has was far more user friendly than PostgreSQL. I don't remember the specifics, but I found postgres pedantic and lacking shortcuts that made life easier. That said I liked PHP too.
Re:MariaDB ditches products and staff in restructure by nickstinemates on Sunday October 15, 2023 @01:15PM (#37891548)
There's hundreds of thousands of small companies out there that run a mariadb database that needs support. That's who mariadb sells to. Consequently, they have a lot of very small customers all over the world.
Re:MariaDB ditches products and staff in restructure by tpetry on Sunday October 15, 2023 @02:04PM (#37891908)
But MariaDB is not selling to them. They are now only selling their enterprise version of MariaDB with ”Contact Us“ pricing. So those hundreds of thousands companies will not be a paying customer.
Re:MariaDB ditches products and staff in restructure by nickstinemates on Sunday October 15, 2023 @04:02PM (#37892919)
MariaDB is selling to them via a subscription license, not through SkySQL / their cloud offering and has been for a long time.
Re:MariaDB ditches products and staff in restructure by treprinum on Sunday October 15, 2023 @02:09PM (#37891942)
Sun Microsystems paid some billion to MySQL authors that then decided to have more fun with MariaDB and started to compete with Sun/later Oracle again. Not sure where did the billion go if MariaDB is now in need to raise debt...