{"id":7596,"date":"2016-08-01T19:19:00","date_gmt":"2016-08-01T17:19:00","guid":{"rendered":"http:\/\/code.openark.org\/blog\/?p=7596"},"modified":"2016-08-01T19:19:00","modified_gmt":"2016-08-01T17:19:00","slug":"introducing-gh-ost-triggerless-online-schema-migrations","status":"publish","type":"post","link":"https:\/\/code.openark.org\/blog\/mysql\/introducing-gh-ost-triggerless-online-schema-migrations","title":{"rendered":"Introducing gh-ost: triggerless online schema migrations"},"content":{"rendered":"<p>I&#8217;m thoroughly happy to introduce <a href=\"https:\/\/github.com\/github\/gh-ost\"><strong>gh-ost<\/strong><\/a>: triggerless, controllable, auditable, testable, trusted online schema change tool <a href=\"http:\/\/githubengineering.com\/gh-ost-github-s-online-migration-tool-for-mysql\/\">released today by GitHub<\/a>.<\/p>\n<p><em>gh-ost<\/em> now powers our production schema migrations. We hit some\u00a0serious limitations using <a href=\"https:\/\/www.percona.com\/doc\/percona-toolkit\/2.2\/pt-online-schema-change.html\">pt-online-schema-change<\/a> on our large volume, high traffic\u00a0tables, to the effect of driving our database to a near grinding halt or even to the extent of causing outages. With <em>gh-ost<\/em>, we are now able to migrate our busiest\u00a0tables at any time, peak hours and heavy workloads included, without causing impact to our service.<\/p>\n<p>gh-ost supports testing in production. It goes a long way to build trust, both in integrity and in control.\u00a0Are your databases just too busy and you cannot run existing online-schema-change tools? Have you suffered outages due to migrations? Are you tired of babysitting migrations that run up to 3:00am? Tired of being the only one tailing logs? Please, take a look at <em>gh-ost<\/em>. I believe it changes online migration paradigm.<\/p>\n<p>For a more thorough overview, please read the <a href=\"http:\/\/githubengineering.com\/gh-ost-github-s-online-migration-tool-for-mysql\/\">announcement<\/a> on the GitHub Engineering Blog, and proceed to the <a href=\"https:\/\/github.com\/github\/gh-ost\/blob\/master\/README.md\">documentation<\/a>.<\/p>\n<p><em>gh-ost<\/em> is open sourced under the MIT license.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m thoroughly happy to introduce gh-ost: triggerless, controllable, auditable, testable, trusted online schema change tool released today by GitHub. gh-ost now powers our production schema migrations. We hit some\u00a0serious limitations using pt-online-schema-change on our large volume, high traffic\u00a0tables, to the effect of driving our database to a near grinding halt or even to the extent [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"enabled":false},"version":2}},"categories":[5],"tags":[120,123,57,121,52,100],"class_list":["post-7596","post","type-post","status-publish","format-standard","hentry","category-mysql","tag-development","tag-github","tag-open-source","tag-operations","tag-performance","tag-tools"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p2bZZp-1Yw","_links":{"self":[{"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/posts\/7596","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/comments?post=7596"}],"version-history":[{"count":4,"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/posts\/7596\/revisions"}],"predecessor-version":[{"id":7602,"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/posts\/7596\/revisions\/7602"}],"wp:attachment":[{"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/media?parent=7596"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/categories?post=7596"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/tags?post=7596"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}