Accelerate MySQL & MariaDB Read Scale with DirectMemory Cache

DirectMemory Cache and always-on data reduction from FlashArray can help you consolidate storage resources and reduce TCO for MySQL and MariaDB environments. 


4 minutes
image_pdfimage_print

Pure Storage® solves several problems in MySQL and MariaDB environments.

In the blog post Eliminate MySQL and MariaDB Replication Time to Availability, I showed how FlashArray™ can increase efficiency in replication environments. In database environments like MySQL and MariaDB, FlashArray reduces the total cost of ownership (TCO) through always-on data deduplication and thin provisioning, as well as by allowing for larger amounts of data consolidation into a single shared storage appliance.

One of the key metrics when using shared storage for replication environments is how many replicas/nodes/secondary systems can be consolidated into a single appliance while still meeting the performance requirements. This metric will vary between implementations and business cases, but in any scenario, increased consolidation will lower costs and bring greater manageability.

A web application environment that is implemented to achieve scalability with the use of replication potentially consists of multiple web servers/application endpoints and multiple replicated MySQL or MariaDB databases. Some of the replicated databases will be configured in primary mode with read/write capabilities. Others could be secondary replicas only intended for read operations. Web applications could potentially service many thousands of requests a second.

For example, let’s look at a website builder like WordPress. It uses MySQL as its database. Content is typically created once and then read by users. The more content and traffic a website has, the greater the need to ensure it can service each request promptly. The responsiveness of the website will depend on many factors. One of the most important is the ability for the storage to service a multitude of requests in a predictable time at any scale.

In these types of environments, DirectMemory™ Cache can accelerate the responsiveness of database read operations. It also allows for a greater number of replicas to be consolidated into a single FlashArray.

Testing and Results 

To evaluate this scenario, we created an environment with eight MySQL Group Replication replicas deployed in single primary mode. We created each replica by cloning the primary database volume from a storage snapshot and connecting it to the relevant hosts using NVMEoF RoCE-v2 connectivity. Replica storage volumes were located on a single FlashArray//X90R2 with six terabytes of DirectMemory modules.

A single database/schema was created on the primary before it was cloned and populated with 20 terabytes of database data. The test scenario simulated 512 users running various SELECT queries. The core metric used for this evaluation was the average number of queries completed per second

The results showed that without DirectMemory Cache 3,2747.78 queries were completed per second on average. With DirectMemory cache, 3,9566.31 queries were completed per second on average. This is an almost 18% increase in overall read query performance!

How Does FlashArray Offer Such a Unique Read Cache Experience? 

FlashArray is unique among all-flash storage arrays because everything is built on always-on data reduction and thin provisioning. Each replica or node added to a replication environment creates a redundant copy of data in storage. If the replicas are held on FlashArray, then redundant copies will be eliminated. This results in only a single copy of the data utilising storage space. For a 20TB database with four replicas, you’ll only need to provision for 80 terabytes of storage space.

For MySQL or MariaDB, a replica will report that it’s consuming storage in its filesystem. But, with a data reduction rate of 2.5:1, FlashArray will report that only eight terabytes are being consumed. Each additional replica won’t consume additional storage space. Instead, the consumed storage being pointed at will be the blocks used by existing databases.

When DirectMemory Cache is added to a read-intensive replication environment, the always-on data reduction functionality in FlashArray ensures that if one replica is accelerated by the read cache, then all replicas are accelerated.

The combination of always-on data reduction and DirectMemory Cache results in lower response times for replication environments. As a result, higher scale can be achieved with FlashArray //X70 or //X90. This is a great solution for organizations attempting to consolidate storage resources without compromising on performance.

To see how easy it is to use FlashArray, why not try one for yourself? Take a FlashArray Test Drive or fill out a pricing and demo request to see if DirectMemory Cache can accelerate your MySQL or MariaDB environment.

flash array test drive