# learning_online_ddl_pattern **Repository Path**: dimycc/learning_online_ddl_pattern ## Basic Information - **Project Name**: learning_online_ddl_pattern - **Description**: online ddl - **Primary Language**: Go - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-04-19 - **Last Updated**: 2022-04-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## What's this? For learning online ddl pattern on MySQL. ### Requirement * Docker * golang compiler ### Usage Task runner with Makefile. You move to each directory (copy_rename, replication, standard/{inplace,instant}) and input as follows via terminal: ``` $ make setup $ make test_online_ddl ``` ### How it works #### standard/{inplace, instant} This directory is performed online ddl via mysql standard function. #### replication This is performed via M/M replication. #### copy_rename Performed via sequentially data copy, reflect changes to the current database by trigger each DML(INSERT/DELETE/UPDATE), and finally rename table. This method is also used by pt-online-schema-change , gh-ost, oak-online-alter-table, and so on.