Skip to main content

2018 | Buch

Introducing InnoDB Cluster

Learning the MySQL High Availability Stack

insite
SUCHEN

Über dieses Buch

Set up, manage, and configure the new InnoDB Cluster feature in MySQL from Oracle. If you are growing your MySQL installation and want to explore making your servers highly available, this book provides what you need to know about high availability and the new tools that are available in MySQL 8.0.11 and later.
Introducing InnoDB Cluster teaches you about the building blocks that make up InnoDB Cluster such as MySQL Group Replication for storing data redundantly, MySQL Router for the routing of inbound connections, and MySQL Shell for simplified setup and configuration, status reporting, and even automatic failover. You will understand how it all works together to ensure that your data are available even when your primary database server goes down.
Features described in this book are available in the Community Edition of MySQL, beginning with the version 8.0.11 GA release, making this book relevant for any MySQL users in need of redundancy against failure. Tutorials in the book show how to configure a test environment and plan a production deployment. Examples are provided in the form of a walk-through of a typical MySQL high-availability setup.
What You'll Learn
Discover the newest high-availability features in MySQL
Set up and use InnoDB Cluster as an HA solution
Migrate your existing servers to MySQL 8
Employ best practices for using InnoDB Cluster
Configure servers for optimal automatic failover to ensure that applications continue when a server fails
Configure MySQL Router to load-balance inbound connections to the clusterWho This Book Is For

Systems engineers, developers, and database professionals wanting to learn about the powerful high availability (HA) features, beginning with MySQL 8.0.11: MySQL Shell, MySQL Router, and MySQL Group Replication. The book is useful for those designing high-availability systems backed by a database, and for those interested in open source HA solutions.

Inhaltsverzeichnis

Frontmatter
Chapter 1. Introduction to High Availability
Abstract
Database administrators and systems architects who manage infrastructures understand the need for building in redundancy while keeping maintenance chores to a minimum. One of the tools used to achieve this is a class of features that make the server or service available as much as possible. We call this high availability.
Charles Bell
Chapter 2. What Is MySQL InnoDB Cluster?
Abstract
Now that you understand what high availability is and how to achieve a level of high availability with MySQL Replication, let’s look at the newest evolution of high-availability features in MySQL: InnoDB Cluster.
Charles Bell
Chapter 3. MySQL Group Replication
Abstract
The very core of InnoDB Cluster is Group Replication. As you learned in the preceding chapter, Group Replication is the latest evolution of MySQL Replication, designed to make data replication more robust and reliable. Together with the modifications to the InnoDB storage engine (all under the hood and hidden away), Group Replication enables high-availability capabilities that, in the past, required specialized and sometimes customized products, middleware, and bespoken applications to achieve.
Charles Bell
Chapter 4. MySQL Shell
Abstract
One of the biggest features that may be somewhat overlooked is the new MySQL Shell. Recall, MySQL Shell is a new way to interact with your MySQL servers. It has many advantages over the previous client that was bundled with the server, the most powerful being the ability to use Python or JavaScript directly from the shell.
Charles Bell
Chapter 5. High Availability in a Sandbox
Abstract
Now that you have learned more about what InnoDB Cluster is and the components that make up the feature, including Group Replication and MySQL Shell, you have enough knowledge to be able to set up a small experimental InnoDB Cluster. You will do so using the new AdminAPI via MySQL Shell.
Charles Bell
Chapter 6. MySQL Router
Abstract
Now that you understand how InnoDB Cluster works and have seen a short demonstration of how to quickly configure a test cluster using the AdminAPI via MySQL Shell, there is one more part of InnoDB Cluster you need in order to make your applications truly highly available.
Charles Bell
Chapter 7. Example MySQL High Availability Deployment
Abstract
The journey thus far into InnoDB Cluster has been one of discovery and experimentation. To make InnoDB Cluster truly useful and meaningful to your infrastructure, we must deploy it to real machines using real data. Although a walk-through of a live, working production system could be beneficial, that would be jumping too far ahead for those exploring InnoDB Cluster and MySQL high availability for the first time. We can’t go from a simulated environment such as a sandbox to a product deployment. No administrator would do that. We must start from a development deployment that we can use to experiment and test our application. Only after careful testing can we then roll it out to our production environment.
Charles Bell
Chapter 8. Example Application
Abstract
Now that you’ve learned how to set up InnoDB Cluster on a small set of test servers, complete with an application server and the router, you are ready to complete our walk-through with an example application. Rather than conclude the tutorial with the simple Python script from Chapter 7, your enlightenment can be complete by developing a simple yet fully functional high-availability application. This application will be written so that write requests are directed through the router to the current read/write server, and read requests directed also through the router to the read-only server queue.
Charles Bell
Chapter 9. InnoDB Cluster Administration
Abstract
As you have discovered, setting up InnoDB Cluster is not difficult, and except for learning how to use MySQL Shell and a few of the classes and methods in the AdminAPI, the steps for configuring InnoDB Cluster are equally easy. However, we all know from experience that setup and follow-in administration don’t always compare in complexity.
Charles Bell
Chapter 10. Planning Your Deployment
Abstract
This book has covered a lot of material, including a brief overview of high availability in terms of what it means to you and how MySQL fulfills those requirements. We focused on MySQL InnoDB Cluster and all its components: the InnoDB storage engine, Group Replication, the AdminAPI, MySQL Shell, and MySQL Router. Not only that, but we also walked through developing high-availability applications as well as setting up InnoDB Cluster by using the sandbox and a set of MySQL servers running on separate machines.
Charles Bell
Backmatter
Metadaten
Titel
Introducing InnoDB Cluster
verfasst von
Charles Bell
Copyright-Jahr
2018
Verlag
Apress
Electronic ISBN
978-1-4842-3885-1
Print ISBN
978-1-4842-3884-4
DOI
https://doi.org/10.1007/978-1-4842-3885-1