Skip to content

Commit 30f9212

Browse files
author
Shlomi Noach
committed
more doc
1 parent b0c0049 commit 30f9212

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

README.md

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,27 @@
22

33
#### GitHub's online schema migration for MySQL
44

5-
`gh-ost` allows for online schema migrations in MySQL which are:
6-
- Triggerless
7-
- Testable
8-
- Pausable
9-
- Operations-friendly
5+
`gh-ost` is a triggerless online schema migration solution for MySQL. It is testable and provides with pausability, dynamic control/reconfiguration, auditing, and many operational perks.
106

11-
![gh-ost logo](doc/images/gh-ost-logo-light-160.png)
7+
`gh-ost` produces a light workload on the master throughout the migration, decoupled from the existing workload on the migrated table.
8+
9+
It has been designed based on years of experience with existing solutions, and changes the paradigm of table migrations.
1210

11+
![gh-ost logo](doc/images/gh-ost-logo-light-160.png)
1312

1413
## How?
1514

15+
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.
16+
17+
`gh-ost` uses the same pattern. However it differs from all existing tools by not using triggers. We have recognized the triggers to be the source of [many limitations and risks](doc/why-triggerless.md).
18+
19+
Instead, `gh-ost` [uses the binary log stream](doc/triggerless-design.md) to capture table changes, and asynchronously applies them onto the _ghost_ table. `gh-ost` takes upon itself some tasks that other tools leave for the database to perform. As result, `gh-ost` has greater control over the migration process; can truly suspend it; can truly decouple the migration's write load from the master's workload.
20+
21+
In addition, it offers many [operational perks](doc/perks.md) that make it safer, trustworthy and fun to use.
22+
1623
![gh-ost general flow](doc/images/gh-ost-general-flow.png)
1724

25+
1826
WORK IN PROGRESS
1927

2028
Please meanwhile refer to the [docs](doc) for more information. No, really, go to the [docs](doc).

0 commit comments

Comments
 (0)