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)

InnoDB and input/output resources


As discussed earlier in the book, InnoDB's method for handling data change operation requires that data changes are stored in memory-based buffers and then written to log files and eventually to disk-based data tables. The process of writing to disk is resource intensive, from an I/O standpoint, and is the slowest part of the transaction commit process. As such, the performance of writing data changes to disk after a commit occurs is determined by:

  • Speed of your disks

  • RAID architecture and settings

  • Underlying filesystem type and behavior

  • The method that InnoDB uses to flush logs after a transaction is committed

InnoDB, as of MySQL 5.5, has variables to better handle high performance storage arrays so knowing the performance of your storage is a fundamental requirement in the tuning process.

We can test the performance of our I/O system with many tools. The most popular I/O specific test applications are as follows:

  • SysBench

  • Bonnie++

  • Fio

A typical test aims to saturate...