MariaDB
Last Updated:
Analyst Coverage: Philip Howard
MariaDB Corporation is a commercial organisation that develops MariaDB and owns its trademark. It is supported by various investors, including Intel, the European Investment Bank, Alibaba and ServiceNow. The company has dual headquarters in Finland and California, plus offices across Europe.
MariaDB Corporation’s products are deployed for transactional, analytical and hybrid transactional and analytical workloads. They are sold through a subscription that includes both technical and consultative support. The company also offers a managed service for deploying and managing MariaDB products in public or hybrid clouds.
MariaDB Platform X3
Last Updated: 28th June 2019
MariaDB Platform X3 has been recently introduced (January 2019) as an offering that combines the transactional capabilities of MariaDB TX (ACID compliance, two-phase commit and so forth) with the analytic functionality provided by the massively parallel, shared-nothing environment provided by MariaDB AX, as illustrated in Figure 1. However, this diagram is slightly incorrect as you may also use the Spider engine as an adjunct to either InnoDB or MyRocks (which is based on RocksDB). Spider has built-in sharding capabilities that lets different MariaDB instances be handled as if they were on the same instance and thereby provides scale-out capabilities. On this note, it is worth noting that MariaDB acquired Clustrix in 2018. This is another MySQL compatible database (MariaDB supports the MySQL protocol), focused on extreme scalability. In due course we can expect MariaDB to leverage Clustrix technology to further enhance its own scalability.
The X3 Platform is available both on premises and in the cloud (for which there is a managed service option). It also supports hybrid deployments where analytics are in the cloud and transactions on-premises, or vice versa. Moreover, just as these can be located separately they can also be scaled independently of one another.
Customer Quotes
“Using MariaDB as a platform to connect our transactions and analytics has given us the ability to offer a new level of excellence to our customers.”
Qberg
“We used MariaDB to deploy and manage our critical database infrastructure in the cloud and on-prem. MariaDB’s team was instrumental so we could launch quickly ahead of the World Cup and continue to give us the peace of mind that our databases are running at their best.”
GiG Sports
As is implied in Figure 1, MariaDB Platform X3 stores relevant data twice: it is written in standard row-based format as transactions are ingested, but analytics runs against the (compressed) ColumnStore. This is enabled via change data capture (CDC), as shown in Figure 2, whereby the ColumnStore is updated via micro-batches from the transactional environment. In addition, relevant non-transactional data can be ingested by the ColumnStore either in batch mode or it can be streamed in via Kafka, in both cases this bypasses SQL, directly writing to the database.
Other notable features shown in Figure 2 include the Query Router (running inside MariaDB MaxScale – see next), which understands where best to direct any particular query; the support for containers (Docker) and Kubernetes; MariaDB Flashback which, in effect, provides an easy way to back out of mistakes; and the Spark connector, which allows data scientists to persist machine learning results to the database for further ad hoc analysis.
Two features that will not be apparent from this diagram are built-in statistical functions on the one hand, and MariaDB MaxScale on the other. The latter is an advanced database proxy that supports intelligent routing, automatic failover, a database firewall and dynamic data masking. The last of these features is unusual to find at this level. As far as the statistical functions are concerned, linear regression, correlation and co-variance are all provided out-of-the-box, with multi-parameter, user defined functions for implementing other algorithms. We are not aware, however, of any support for importing analytic models built in third-party environments such as TensorFlow or Python. Nor is there support for PMML (predictive modelling mark-up language).
MariaDB Platform X3 takes a slightly different approach to supporting hybrid transactional and analytic processing compared to the traditional relational behemoths (Oracle, IBM, Microsoft and so on) as well the relational offerings from cloud vendors such as Amazon. From an architectural perspective, MariaDB does not store both row and column data on the same server. Moreover, it uses distributed storage for analytics. Going beyond that, MariaDB is an open source product, that scales horizontally, and is – in all probability – going to cost you a whole lot less money. Moreover, unlike Amazon, the company supports hybrid cloud deployments.
From a marketing standpoint, MariaDB has historically targeted its products as replacements for traditional relational environments – it is PL/SQL compatible for example – and as a platform that you can consolidate upon. For example, consider online shopping: in a traditional environment you might uses Oracle to process your transactions, a NoSQL database to track shopping carts, and a column-based data mart to support clickstream analytics. You can do all of these things using only the MariaDB Platform X3 with RocksDB, Spider and the ColumnStore as the respective engines, providing all the benefits of a single user and administrative environment.
The Bottom Line
MariaDB Platform X3 is a conventional but open source alternative to the hybrid environments offered by the major database suppliers. While it is very new as a product it represents the merger of established technologies, and it should provide significant advantages compared to those traditional products.
Commentary
Coming soon.
Solutions
Research
Coming soon.