I’d say less. This acquisition screams that some MBA looked at their financials, saw money left on table, likely by not completely screwing over customers, and said, let’s do this! Think Broadcom/VMware on smaller scale.
You don’t put yourself in debt and replace the CEO unless you see some value not currently being realized.
They might even try license shenanigans but with GPLv2, not sure what they can do.
I'm usually skeptical of private equity, but in this case I see reasons to not be immediately cynical. The purchase price was only ~$37 million USD, which is quite reasonable considering MariaDB's reach and potential.
MariaDB plc has some really talented C++ engineers who are experts in database internals. Their DB has some compelling features that many competitors lack, for example system-versioned tables, Oracle DB compatibility layer, and soon a really nice multi-tenancy feature (catalogs). MariaDB plc has a strong presence in Europe, which I would assume is very appealing for potential European customers. And now they finally have an owner with deeper pockets, which hasn't been true in recent history; their previous financial state likely hindered commercial adoption.
If MariaDB can execute well on support and services, I'd imagine their new owners can get a good return on their investment as-is. No need for squeezing and strip-mining them, I don't see how that would even work in this case.
It's a weird scenario where a bunch of people bemoaned Oracle owning MySQL (hence MariaDB exists), and yet Oracle have maintained and allowed MySQL to see huge improvements, and they include their sql proxy under GPL as well.
As a weird twist of coincidence and irony, MariaDB's sql proxy is BSL only.
I don't think either license is a reason to use/not use the respective DB system (HAproxy exists) but it's always funny to me how the "we must keep it open" group did exactly what they accused Oracle of planning to do.
I moved to postgres over a decade ago but have occasionally had to interlope into MySQL/MariaDB infrastructure. IMHO it has been a lesser choice for a long time, typically just clinging onto it because of legacy reasons or an over-involved executive but these people are also typically very proud and protective over the thing they know.
Realistically if you need the MySQL semantics (eww) and wire protocol TiDB or a hosted offering like Aurora DB have been better choices for a long time now.
From my POV, it's a supplier that is no longer beholden to shareholders demands for profit. A platform and service that can operate using customer sourced revenue and respond to market demand without a profit driven board is a big win for everyone while funding development and maintenance of a great open source project.
I think that’s exactly the wrong impression I get. Private equity is going to cause them to quickly get to better profitability through price increases, layoffs, and reduced R&D.
> it's a supplier that is no longer beholden to shareholders demands for profit.
That doesn't seem correct. It's now owned by a single shareholder, that's literally a financial organisation of the kind likely to turn the screws until the last drop of blood is gone.
It must be tough for the business, as more and more web development has fallen in love with PostgreSQL. While the support business for PostgreSQL exists, I am not sure if they can get similar profit margins / earning multipliers as early 2000 software businesses, even open source ones.
Developers and on HN sure, but the web runs on LAMP (mostly WP). Also, it is sure possible to optimise your postgres setup, but we had some scaling/sharding niche cases where mysql worked and performed out of the box and postgres was (is) struggling; I am not very interested wasting my life trying to get it to work while mysql just works without any tweaking (for that case: other cases we still pick mysql as it always performs the same or better than postgres for our cases; it doesn't have all the features pg has, but we don't need those (yet)). I have not seen the reverse yet.
People have been using PostgreSQL for decades for web stuff. I think the first time I used it was around 2003 or so. The project goes back to 1996 (and even that was based on previous code going back to 1982).
I'm not saying PostgreSQL is perfect or the best choice for everything. That's obviously stupid. But claiming it's a "hype" is not a serious comment.
At scale, there are some workloads where it can be a great choice:
* InnoDB (default storage engine in MySQL and MariaDB) uses a clustered index, which can handle an extremely high volume of primary key range scan queries
* Ability to handle several thousand connections per second without needing a proxy or pool (the connection model in MySQL and MariaDB is multi-threaded instead of multi-process)
* Workloads that lean heavily on UPDATE or DELETE have terrible MVCC pain (vacuum) in Postgres, rarely a problem in MySQL or MariaDB due to using an undo log design
* Support for index hints and forced indexes, preventing huge outages when the query planner makes a random mistake at an off hour
* Built-in support for direct I/O is important for very high-volume OLTP workloads -- InnoDB's buffer pool design is completely independent of filesystem/OS caching
* If you need best-in-industry compression, the MyRocks storage engine is easy to use in MariaDB
* Logical replication can handle DDL out-of-the-box in FOSS MariaDB or MySQL, whereas in Postgres you must pay for an enterprise solution
* Much better collation support out-of-the-box
* Tooling ecosystem which includes multiple battle-tested external online schema change tools, for safely making alterations of any type to tables with billions of rows
* MariaDB has built-in support for using system-versioned tables, application-time periods, or both (bitemporal tables)
That all said -- Postgres is an amazing database with many awesome features which MariaDB lacks. Overall unless your situation is very high scale or an unusual edge-case, it's usually best to just go with what you know / what your team knows / what you can hire for, etc.
I very much appreciate your deep knowledge of MySQL, and willingness to share amidst the sea of postgres fans. There's a reason both are popular and widely used.
I would say the main advantage is scale and uptime. If you need to replicate, duplicate, or maintain state beyond one server; there are very few good RDBMS options, let alone open source. The MariaDB ecosystem competes with IBM Purescale and Oracle RAC; it's hard to appreciate that, until you really need it.
My reason has been relative simplicity. PostgreSQL comes off as much more complex (though whether that is actually true is probably dependent on what you're doing with it).
I'm also not working with super-high-performance production-critical loads, though, so grain of salt and all that.
Mysql is mercurial, Postgres is git. With mysql everything comes somewhat intuitive. Postgres is antiintutive in a lot of places. Probably the people that created it didn't realize that the complexity of Oracle was not needed but was a job program for expensive consultants /s
That link isn't particularly convincing. As far as I can see, the only Postgres test performed on the hardware that the top MariaDB entries had was on a positively ancient Postgres version (9.2.1).
All of these sibling comments are listing good technical reasons but the most compelling reason by far that I’ve run into for using MariaDB over Postgres is that the underlying software you are trying to deploy only supports MySQL/MariaDB. When my options are “MariaDB” or “Use an entirely different application” I often opt for MariaDB
I know it may seem like a weird reason but I think MySQL Workbench is a MUCH better tool than any other open source interface for interacting with PostgreSQL. I usually use PostgreSQL for other reasons, but MySQL Workbench is the main thing which makes the decision difficult for me.
They are honestly equally fine for most use cases. I find MariaDB tooling better and have a lower mental overhead dealing with it, but perhaps I'm just more used to it.
We used to hit a wall when reaching 100bn rows on MySQL but that was 15 years ago.
Scale and ease of “sysadmin” level management for things such as clustering, replication, etc.
Some of that will be personal preference but I’ve never found administration of a Postgres database cluster to be nearly as intuitive as MySQL/MariaDB.
From the experience of my one man big web project with 12 languages I had a hard time setting up a search that ignores things like éê from other languages in postgres while mariadb innodb just ignores it.
> Maria supports partitioning, Postgres (as of my last knowledge) does not.
PostgreSQL's manual indicates that partitioning is a thing[1]. Is the something different than what you're thinking of?
One of my projects has the need to drop millions of rows a month based on the time period, and I've been considering a switch to postgres because they also have a module that will do that automatically.
postgres have table partitions now, mariadb can however partition a table over multiple servers or shards using the engines like spider and connect, or proxies like maxscale and proxsql.
Local or remote, read your database manual about the fun and caveats that come from partitions.
Interesting thought. I wonder if someone did analyses on how long K1 tends to keep their companies before exist, and what is typical exit path - sell to strategic (Oracle? IBM?) sell to some other PE or take public
I don't know anything about K1, so all I have is confusion (and a sudden urge to switch entirely to postgres).
You don’t put yourself in debt and replace the CEO unless you see some value not currently being realized.
They might even try license shenanigans but with GPLv2, not sure what they can do.
MariaDB plc has some really talented C++ engineers who are experts in database internals. Their DB has some compelling features that many competitors lack, for example system-versioned tables, Oracle DB compatibility layer, and soon a really nice multi-tenancy feature (catalogs). MariaDB plc has a strong presence in Europe, which I would assume is very appealing for potential European customers. And now they finally have an owner with deeper pockets, which hasn't been true in recent history; their previous financial state likely hindered commercial adoption.
If MariaDB can execute well on support and services, I'd imagine their new owners can get a good return on their investment as-is. No need for squeezing and strip-mining them, I don't see how that would even work in this case.
As a weird twist of coincidence and irony, MariaDB's sql proxy is BSL only.
I don't think either license is a reason to use/not use the respective DB system (HAproxy exists) but it's always funny to me how the "we must keep it open" group did exactly what they accused Oracle of planning to do.
Realistically if you need the MySQL semantics (eww) and wire protocol TiDB or a hosted offering like Aurora DB have been better choices for a long time now.
For complex multi-member clusters Maria/MySQL are quite far ahead.
That doesn't seem correct. It's now owned by a single shareholder, that's literally a financial organisation of the kind likely to turn the screws until the last drop of blood is gone.
https://en.m.wikipedia.org/wiki/MaxDB
As in the hype train? They used to love mongodb in its broken state.
If only most of them actually investigate, compare and evaluate to make this choice.
I'm not saying PostgreSQL is perfect or the best choice for everything. That's obviously stupid. But claiming it's a "hype" is not a serious comment.
Dead Comment
Also the MariaDB Foundation is separate from the commercial/enterprise entity MariaDB plc. This article is about the latter being taken private.
MariaDB does not need to win against MySQL, it really needs to win against PostgreSQL
* InnoDB (default storage engine in MySQL and MariaDB) uses a clustered index, which can handle an extremely high volume of primary key range scan queries
* Ability to handle several thousand connections per second without needing a proxy or pool (the connection model in MySQL and MariaDB is multi-threaded instead of multi-process)
* Workloads that lean heavily on UPDATE or DELETE have terrible MVCC pain (vacuum) in Postgres, rarely a problem in MySQL or MariaDB due to using an undo log design
* Support for index hints and forced indexes, preventing huge outages when the query planner makes a random mistake at an off hour
* Built-in support for direct I/O is important for very high-volume OLTP workloads -- InnoDB's buffer pool design is completely independent of filesystem/OS caching
* If you need best-in-industry compression, the MyRocks storage engine is easy to use in MariaDB
* Logical replication can handle DDL out-of-the-box in FOSS MariaDB or MySQL, whereas in Postgres you must pay for an enterprise solution
* Much better collation support out-of-the-box
* Tooling ecosystem which includes multiple battle-tested external online schema change tools, for safely making alterations of any type to tables with billions of rows
* MariaDB has built-in support for using system-versioned tables, application-time periods, or both (bitemporal tables)
That all said -- Postgres is an amazing database with many awesome features which MariaDB lacks. Overall unless your situation is very high scale or an unusual edge-case, it's usually best to just go with what you know / what your team knows / what you can hire for, etc.
https://www.postgresql.org/docs/current/ddl-partitioning.htm...
Logical replication...
https://www.postgresql.org/docs/current/logical-replication....
https://github.com/2ndQuadrant/pglogical?tab=readme-ov-file#...
https://docs.aws.amazon.com/dms/latest/sbs/chap-manageddatab...
In 'recent years' (in database support terms), PostgreSQL has gained autovacuum support.
https://www.enterprisedb.com/blog/postgresql-vacuum-and-anal...
This stack overflow question was insightful, in that most of the slowness many experience may be related to foreign key check lookups on unindexed columns that point to external keys. https://dba.stackexchange.com/questions/328884/why-is-the-de... Partitioned data and batches to spread out updates also appear to be current best practices https://www.dragonflydb.io/faq/postgres-delete-performance
I'm also not working with super-high-performance production-critical loads, though, so grain of salt and all that.
https://www.databasebenchmarks.net/benchmark-charts.html/?aw...
We used to hit a wall when reaching 100bn rows on MySQL but that was 15 years ago.
Some of that will be personal preference but I’ve never found administration of a Postgres database cluster to be nearly as intuitive as MySQL/MariaDB.
Maria supports partitioning, Postgres (as of my last knowledge) does not.
Unstructured data is more flexible in Maria natively, but Postgres can support it in a variety of ways.
You can find lists and lists of head to head comparisons out there which will highlight all of the niche differences that each brings over the other.
Ultimately either will work just fine for 99% of use cases.
PostgreSQL's manual indicates that partitioning is a thing[1]. Is the something different than what you're thinking of?
One of my projects has the need to drop millions of rows a month based on the time period, and I've been considering a switch to postgres because they also have a module that will do that automatically.
What am I missing?
[1] https://www.postgresql.org/docs/current/ddl-partitioning.htm...
Modern versions of postgres have all the partioning features you'd expect (except automatic ranged partion creation)