Database changes should be SCARY

“The only workload that matters is my production workload” (for all values of “my”). So you can manage this responsibility, SCARY is a software tool which aims to take the uncertainty out of change; software, configuration and hardware changes. This is very early in development, but projects have to start somewhere.

SCARY takes a read view of the production database query execution, and does the equivalent query on a copy of the production database, that has differences. The query speed, query plan, data result (eventually) will be recorded along with what went on in production.

With this information in hand, you can make a decision if the targeted test environment is the environment you want for production.

What kind of differences?

  • Configuration changes;
  • An upgrade to a newer MariaDB version;
  • A migration from MySQL; or
  • A different hosting provider.

Future

So where to from here? Future development will continue and make the maturity of the codebase more amenable to change, and give user deployment flexibility. On distribution, we will deliver container images after it has achieved a base level of maturity. Adding to the usability will be database views, to make the recorded data into information describing the overall status, and also key areas to address (perhaps bug reports). With cooperation with other projects, we hope to take information via JSON on a Kafka stream from SQL proxy implementations. This will add to the accuracy and completeness of the production workload.

Like every project MariaDB Foundation runs, contribution is part of our existence, so more eyes, ideas, words and code are always appreciated. Contribute at https://github.com/MariaDB/SCARY/.

Thanks

Thanks to Johan Wikman from MariaDB plc who contributed many ideas useful here.

This would not have been possible without a grant from Wikimedia Foundation that saw the need for this to happen, and to made sure this was available for everyone under a permissive Free and Open Source License – Apache License Version 2.0.

MariaDB has been running at Wikimedia Foundation as the main database management system for Wikimedia sites. Their support of MariaDB Foundation over many years and for this new undertaking has been much appreciated.