Book Image

Instant InnoDB

By : Matt Reid
Book Image

Instant InnoDB

By: Matt Reid

Overview of this book

<p>InnoDB, the default storage engine for MySQL, is one of the most robust and commonly used in the world today. It can, however, be initially daunting to learn how to start implementing its features, and it can pose unique problems to the beginner user. This guide is written to address these problems.</p> <p>"Instant InnoDB" addresses everything you need to know for the installation, configuration, load testing, analysis, and long term support of an InnoDB based database environment. If you've ever wanted to learn more about InnoDB but didn't want to sit down with a formidably large or dry read, then the Instant InnoDB&nbsp; is your ideal companion.</p> <p>"Instant InnoDB" guides you expertly through the initial setup and system requirements for getting up and running with a simple environment that can be used for the development and testing of the InnoDB engine.<br /><br />After an in-depth look at basic and advanced configuration settings we delve into the internals of InnoDB that allow it to handle Multi-Version Concurrency Control and ACID transaction compliance. We will then dig deeper into advanced topics, such as memory buffer tuning methods and transaction log file handling. We'll then cover typical approaches and solutions to monitoring the database and reporting on operational states.</p> <p>By the end of the Instant InnoDB , we will have covered the common approaches to troubleshooting and error handling, as well as providing you with solutions to the most common architectural, administrative, and engineering related situations that arise when working with the InnoDB database engine.</p>
Table of Contents (14 chapters)

Filesystem benchmarking


When we work with MySQL we are inevitably interacting with the filesystem in more ways than just storing data. We're requiring the filesystem to:

  • Operate on blocks of data as fast as possible to read and write log files

  • Store and process temporary tables for sorting larger tables that cannot be processed in-memory

  • Also provide redundancy in the case of hardware failure

If we can run our entire database in-memory then it will almost always be quick to respond, but for databases that are larger than the available system RAM, we need to tune the filesystem to perform at its best. In order to tune the filesystem and ensure optimal settings for our workload, we will apply the same testing methodology that was explained at the start of the chapter, except we will focus on the I/O resources. When running filesystem benchmarks be sure to run more than one, and preferably at least ten iterations so that a realistic average can be seen with outliers removed. To do this we can use...