gh-ost is a triggerless online schema migration tool for MySQL. It functions as a replication client and table management utility that synchronizes data from a source table to a shadow table using binary logs, allowing for table structure modifications without locking original tables or causing downtime.
The tool distinguishes itself by using binary-log-based replication instead of triggers to stream row-based events to a shadow table. It implements load-aware throttling and dynamic performance tuning to adjust migration speed based on server load and replication lag. Users can monitor and adjust the migration process in real time through a socket-based interactive control interface.
The project covers a broad range of database operation capabilities, including atomic table swapping for zero-downtime cut-overs and parallel execution of multiple schema migrations. It provides verification tools for migration integrity, such as replica simulation, checksum validation, and dry-run migrations. The system also supports various database topologies and includes an event-driven hook system for executing external scripts during the migration lifecycle.