As customers, we expect businesses to provide us with useful information. And as our expectations rise, so too must the usefulness of the information. For example, it’s useful to know a product is on sale. It’s more useful to know that it will be sold-out within hours. It’s also useful to know the balance on my credit card. But it’s even more useful to know if it’s going be higher than the automated payment I scheduled.
It’s safe to say customer-facing applications (web, mobile, etc.) are transactional. We purchase a product. We check our account balance. We watch a movie. The applications read and write data: SELECT a product, UPDATE a shopping cart, INSERT a purchase. They generate transactional workloads, so they’re built on transactional databases.
When these applications only needed to facilitate transactions, a transactional database was sufficient. Today, applications have to do a lot more – customers expect it, and are increasingly demanding it. While purchases require transactions, useful information (e.g., this product will be sold-out within hours) requires analytics. Consequently, these applications need access to more historical data and more powerful analytics – things transactional databases cannot provide, at least not at scale.
In B2B, SaaS in particular, customers are data-driven organizations themselves. Beyond the core service provided, they need more powerful, self-service analytics. They need to be able to uncover actionable insight like every other business, but they rarely have direct access to the underlying data.
The crux of the problem is that typical customer-facing applications are limited to lightweight analytics, queries using secondary indexes to aggregate a small subset of data. The historical data and analytics capabilities they now need is confined to data warehouses for internal business intelligence and data science teams. It’s not available to application developers, so where will they get it?
The solution is not to expose the data warehouse to these applications, but to bring analytics to the database they’re built on. The application development and the BI/data science teams both get access to historical data and full analytics, but with different solutions. For the BI and data science teams, it remains the data warehouse. For the application development teams, it’s a database with support for hybrid transactional/analytical workloads. Enter MariaDB Platform X3.
MariaDB Platform is an enterprise open source database for transactional, analytical and hybrid transactional/analytical workloads. It uses row storage for transactions and columnar storage for analytics, but unlike proprietary databases from Oracle and Microsoft, the columnar storage in MariaDB Platform is distributed to support analytics at scale. We’re talking years’ worth of data and hundreds of billions of rows.
Under the hood, MariaDB Platform executes transactions and analytics on separate database instances. It replicates data written to database instances with row storage (for transactions) to database instances with columnar storage (for analytics) using change-data-capture streams, and uses dynamic query routing to send transactional queries to database instances with row storage and analytical queries to database instances with columnar storage.
This loose coupling provides MariaDB Platform with multiple benefits. First, workload-based isolation removes resource contention between transactions and analytics. Second, independent workload scaling allows transactional and analytical workloads to be scaled independently of each other. Third, the hardware for database instances running transactions can be optimized for transactions (e.g., SSDs) while the ones running analytics can be optimized for analytics (e.g., many core processors).
And finally, because of this loose coupling, MariaDB Platform enables hybrid cloud deployments with some database instances on premises running transactions and some in the cloud running analytics (or vice versa) ‒ and innovative MariaDB customers are already doing it. In fact, some of them will be sharing their hybrid-everything strategies at MariaDB OpenWorks this February (it’s not too late to register).
They’re ready for hybrid-everything. Are you?
If so, watch our recent webinar, Introducing MariaDB Platform X3 and the Rise of Hybrid Everything.