

GitHub - Shopify/ghostferry: The swiss army knife of live data migrations
source link: https://github.com/Shopify/ghostferry
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md
Ghostferry
Ghostferry is a library that enables you to selectively copy data from one mysql instance to another with minimal amount of downtime.
It is inspired by Github's gh-ost, although instead of copying data from and to the same database, Ghostferry copies data from one database to another and have the ability to only partially copy data.
There is an example application called ghostferry-copydb included (under the
copydb
directory) that demonstrates this library by copying an entire
database from one machine to another.
Overview of How it Works
An overview of Ghostferry's high-level design is expressed in the TLA+
specification, under the tlaplus
directory. It maybe good to consult with
that as it has a concise definition. However, the specification might not be
entirely correct as proofs remain elusive.
On a high-level, Ghostferry is broken into several components, enabling it to copy data. This is detailed in docs/source/technicaloverview.rst.
A more detailed documentation is coming soon.
Development Setup
Install:
- Have Docker installed
- Clone the repo
docker-compose up -d mysql-1 mysql-2
Run tests:
make test
Test copydb:
make copydb && ghostferry-copydb -verbose examples/copydb/conf.json
Recommend
-
53
A while back, there was a discussion comparing the performance of using the hashbrown crate (based on...
-
15
Yesterday I gave a talk at Strange Loop. I’ll try to write more about the conference and my favorite things about it later, but for now here’s the talk I gave. video transcript I mean “transcript” in a very loose sen...
-
9
We may earn a commission for purchases using our links. Learn more. Best Swiss Army Knife in 2021
-
14
[CPI] CPI-Helper Chrome Extension – Swiss Army Knife for Integrators Hello Integrators, it is a while since my last post. The CPI-Helper developed and I thought it is a good idea to sum up how the CPI-Helper ca...
-
12
Maghic: a Swiss army knife for GitHub Actions Workflow Maghic is a Swiss army knife tool for GitHub Actions Workflow. This is created for the GitHub Actions Hackathon:
-
6
Micro BGP Suite: The Swiss Army Knife of Routing Analysis
-
11
Show HN: A Swiss army knife for testing HTTP from the terminal
-
14
BUX: The Swiss Army knife for BSV app development Business 5 hours ago This week I had a chance to interview two...
-
10
The Flipper Zero is a Swiss Army knife of antennasThe Flipper Zero is a Swiss Army knife of antennas / An all-purpose tool for making wireless mischiefBy
-
15
Chatblade A CLI Swiss Army Knife for ChatGPT Chatblade is a versatile command-line interface (CLI) tool designed to interact with OpenAI's ChatGPT. It accepts piped input, arguments, or both, and allows you to save common prompt...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK