Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Zero-Downtime Schema Changes In MySQL

DZone's Guide to

Zero-Downtime Schema Changes In MySQL

· Performance Zone ·
Free Resource

SignalFx is the only real-time cloud monitoring platform for infrastructure, microservices, and applications. The platform collects metrics and traces across every component in your cloud environment, replacing traditional point tools with a single integrated solution that works across the stack.

This post comes from Baron Schwartz at the MySQL Performance Blog.

The recording of yesterday’s webinar, as well as a PDF of my slide deck, is now available. You can watch the recording and get the slides here.

I got a lot of questions, and did not have enough time to answer all of them, so let me try to answer some of the remaining questions here.

Q: Isn’t it possible to take all the locks required in the beginning to prevent dead locks? So you would get a lock wait instead of a dead lock. No, that would cause blocking that would defeat the purpose of the tool.

Q: When you say bail out, what does that mean? Does the tool clean up (i.e., remove table / triggers?) About cleanup.. What about manual aborting a run. will that cleanup ? Q: dose the tool exit gracefully while interupted? The tool doesn’t clean up the temporary table or triggers. It is designed to be resumable, although we don’t yet have a “resume” feature implemented.

Q: periodically the ALTER isn’t written to the bin-log and thus isn’t replicated, why ? without any replication filters or relevant args, the replication breaks reliably on the __tmp_x table why ? The first question sounds like a potential MySQL bug. Are you sure this is really happening? I would be extremely surprised for such a bug to be happening. In reply to the second question, the 2.1 version of the tool does NOT have any features to disable the binary log; my experience has been that this is a very dangerous thing to do and causes way too many bugs in the server and the tool, so there is no code in the tool that disables binary logging at all. Are you using the 2.0 version of this tool? It was completely rewritten in version 2.1.

Q: qw() as use of () is deprecated That sounds like you’re using an old version of the tool.

Q: Old version of PT OSC said risk in replication environment, I didn’t see that in the new version, does it mean the tool has been well tested in replication environment? Yes.

SignalFx is built on a massively scalable streaming architecture that applies advanced predictive analytics for real-time problem detection. With its NoSample™ distributed tracing capabilities, SignalFx reliably monitors all transactions across microservices, accurately identifying all anomalies. And through data-science-powered directed troubleshooting SignalFx guides the operator to find the root cause of issues in seconds.

Topics:

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}