MariaDB Platform X5 is the culmination of years of work and planning. Long before the initial release of MariaDB Platform, even before the first releases of its predecessors MariaDB TX and MariaDB AX, we envisioned an enterprise open source database solution capable of handling any workload at any scale.
MariaDB Platform X3 integrated MariaDB ColumnStore to add distributed, columnar storage and processing for interactive, ad hoc analytics on billions of rows. MariaDB Platform X4 fully integrated ColumnStore, replacing a complex change-data-capture process with standard replication to better support smart transactions (i.e., hybrid transactional/analytical processing or HTAP).
- Transactions? Check.
- Scalable analytics? Check.
- Smart transactions? Check.
So, what was missing?
Scalable transaction processing, or what we now call distributed SQL (formerly NewSQL), was the final piece of the puzzle.
There are plenty of distributed non-relational (NoSQL) databases, but there are very few distributed SQL databases. It is a very difficult problem to solve. CockroachDB is popular, having just raised $87 million in funding. And of course, there is Google Spanner and its research paper.
But long before CockroachDB and Google Spanner there was ClustrixDB, one of the very first distributed SQL databases. MariaDB acquired Clustrix just under two years ago for a reason, to provide MariaDB Platform with scalable transaction processing.
ClustrixDB technology has now made its way into MariaDB Platform X5 by way of the MariaDB Xpand smart engine, just as we added scalable analytics via the ColumnStore smart engine. These smart engines extend MariaDB Enterprise Server so it can handle different kinds of workloads.
Distributed SQL is powerful, but it’s only part of what makes MariaDB Platform X5 so special.
Replicated and clustered databases don’t run well at large scale. Distributed databases don’t run well at small scale. With Oracle Database, you can go from Active Data Guard to RAC. With CockroachDB, you can go from distributed SQL to… distributed SQL.
MariaDB Platform takes a completely different approach. It’s a general-purpose database with specialized smart engines. MariaDB Platform X5 can be deployed as a single database instance, with replication and read replicas, as a multi-master cluster and now, as a distributed SQL database.
Simply put, MariaDB Platform X5 scales with your business every step of the way as it grows, from a standalone instance for development to a multi-master cluster for high availability to a distributed SQL database for scalability. There is no need to switch databases, change schemas or modify applications when your workload changes or increases.
That’s not all. MariaDB Platform can be used in different ways, and in many ways. Deploy it as a database for transactions, a data warehouse for analytics or both. Store data as relations, documents (JSON) or both. Use replicated tables, distributed tables or both. The Xpand smart engine provides distributed SQL, but DBAs can choose which tables are replicated and which ones are distributed – and yes, queries can join replicated and distributed tables (row and columnar too)!
Any workload? Check.
Any scale? Check.
Now that we’ve covered MariaDB Platform X5, let’s see what’s new in its major components: