gh-ost is a triggerless online schema migration solution for MySQL. It is testable and provides pausability, dynamic control/reconfiguration, auditing, and many operational perks. gh-ost produces a light workload on the master throughout the migration, decoupled from the existing workload on the migrated table. It has been designed based on years of experience with existing solutions, and changes the paradigm of table migrations. All existing online-schema-change tools operate in similar manner: they create a ghost table in the likeness of your original table, migrate that table while empty, slowly and incrementally copy data from your original table to the ghost table, meanwhile propagating ongoing changes (any INSERT, DELETE, UPDATE applied to your table) to the ghost table. Finally, at the right time, they replace your original table with the ghost table. gh-ost uses the same pattern. However it differs from all existing tools by not using triggers.
Features
- gh-ost uses the binary log stream to capture table changes
- gh-ost takes upon itself some tasks that other tools leave for the database to perform
- gh-ost has greater control over the migration process
- It can truly decouple the migration's write load from the master's workload
- It offers many operational perks that make it safer, trustworthy and fun to use
- External hooks can couple gh-ost with your particular environment
Categories
Software TestingLicense
MIT LicenseFollow gh-ost
User Reviews
-
gh-ost is an open-source tool used for online schema changes and is popularly used in the MySQL database community. As a software developer, I have used gh-ost for several projects and found it to be a very useful tool. One of the things that I appreciate most about gh-ost is how easy it is to use. The command-line interface is straightforward and the documentation is clear and detailed, making it easy to get started even if you're new to the tool. Another great feature of gh-ost is its ability to perform schema changes without requiring a significant amount of downtime. This is especially important for production environments where downtime can be costly or disruptive. With gh-ost, I have been able to perform schema changes without causing any interruptions to the application's availability. The tool also provides a lot of flexibility when it comes to schema changes. You can specify different options for the migration, such as the number of replicas to be used, the time interval for checking consistency, and more. One potential downside of gh-ost is that it can be resource-intensive. Performing a schema change requires a significant amount of resources, so it's important to ensure that your environment is properly sized to handle the load. Overall, I would highly recommend gh-ost to any MySQL user looking for a reliable and efficient tool for online schema changes. With its ease of use, flexibility, and ability to minimize downtime, gh-ost has become an essential tool in my development workflow.