In the twenties, the 2020s that is, what separates a modern application from the others?
A modern application runs in the cloud (of course!) and enriches standard transactions with real-time analytics to create an insightful experience. This should come as no surprise. As customers, we continuously expect more from businesses when it comes to the value of interacting with them online.
To address modern application requirements, today’s database needs both smart transactions and a cloud-native architecture.
What’s a smart transaction you say? Let’s start with a few examples.
- Displaying a day’s flights is a transaction. Displaying them with their likelihood of an on-time departure is a smart transaction.
- Accepting a payment is a transaction. Accepting it after validating it’s within an account holder’s 95th percentile spending radius is a smart transaction.
- Transferring money from savings to checking is a transaction. Transferring it and returning an estimate of how long the money will last is a smart transaction.
At their core, these are the standard transactions that databases have been performing for decades – ultimately powering the online interactions we’ve become accustomed to. The difference with modern applications is the use of real-time analytics before, during and/or after these transactions in order to provide a better customer experience. Helping a customer save money is good. Helping a customer save money and be more informed is better.
MariaDB Platform X4 enables smart transactions by storing data in both row and columnar formats, and for the first time, without having to use separate databases for transactions and analytics. With this release, MariaDB ColumnStore has become a pluggable storage engine, allowing it to be used alongside row-based storage engines such as InnoDB and MyRocks. As a result, a single database can perform smart transactions by accessing both row and columnar data within the same transaction – row for CRUD operations, columnar for analytical queries.
Cloud-native storage architecture
There are two types of persistent storage available to databases in the cloud. The first is block storage, examples include Amazon EBS, Azure Managed Disks and Google Persistent Disks. This is the storage used by most databases. It’s durable and fast. The second is object storage, examples include Amazon S3, Azure Blob Storage and Google Cloud Storage. This is the storage used by cloud-native data warehouses such as Snowflake. It’s durable, less expensive and has near-infinite storage capacity.
Databases use block storage for transactions, even proprietary databases capable of storing data in both a row format for transactions and a columnar format for analytics. The most innovative data warehouses use object storage for analytics, and in a columnar format.
That is, until now.
MariaDB Platform X4 is the only database, open source or proprietary, to implement a fully cloud-native storage architecture – storing data in a row format on block storage for transactions and in a columnar format on object storage for analytics. To be more specific, MariaDB ColumnStore can use any object storage compatible with the Amazon S3 API. This not only includes public cloud storage services, but on-premises software/hardware as well. For example, Apache MinIO, Red Hat Ceph Storage or Western Digital ActiveScale.
Columnar for all
We’re removing the barrier to entry, again. We don’t believe proprietary databases and million-dollar hardware appliances should be requirements for modern applications – or the developers who want to build them.
MariaDB ColumnStore 1.4 is now available to customers as a plugin for MariaDB Enterprise Server 10.4, and will be part of the next MariaDB Community Server 10.5 alpha release. Going forward, every developer who installs MariaDB Server (enterprise or community) will get MariaDB ColumnStore out of the box, and with it, the ability to write smart transactions.
Register for our upcoming webinar to learn more about smart transactions and cloud-native storage with MariaDB Platform X4.