You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We propose introduce a library to replace Mydumper, code named Dumpling, optimized for TiDB Lightning and to be usable as a library/plugin inside DM and TiDB, as well as be an independent program.
Problem statement
Mydumper is a third-party tool to dump MySQL databases into local filesystem as SQL dump. TiDB Lightning relies on output of Mydumper for importing into TiDB, and DM embeds Mydumper to quickly extract data from upstream.
Using Mydumper in the TiDB ecosystem has the following problems:
as a third-party tool, it does not match our development pace
Mydumper is licensed in GPLv3, which is not compatible with TiDB (Apache 2.0)
Therefore, we would like to replace Mydumper with our own tool, and develop new features on top of it, like
create a custom output format to reduce parsing effort and speed up Lightning
support dumping directly to cloud storage
Success criteria
Replacement. Created a Go module with a CLI front-end which supports the Mydumper features required for DM and Lightning.
Resulting data are sorted by primary key
SQL files are split into size close to the given configuration
Single tables can be dumped in parallel, if a primary key or unique btree key exists
Consistency: dumping a snapshot instead of live data (either acquire a read lock or ignore new updates)
E2E test succeeds
Performance matching Mydumper
Extension. Implements features which further helps the ecosystem
Dumpling / Mydumper replacement for DM integration and Lightning performance
Full RFC at #123.
Abstract
We propose introduce a library to replace Mydumper, code named Dumpling, optimized for TiDB Lightning and to be usable as a library/plugin inside DM and TiDB, as well as be an independent program.
Problem statement
Mydumper is a third-party tool to dump MySQL databases into local filesystem as SQL dump. TiDB Lightning relies on output of Mydumper for importing into TiDB, and DM embeds Mydumper to quickly extract data from upstream.
Using Mydumper in the TiDB ecosystem has the following problems:
Therefore, we would like to replace Mydumper with our own tool, and develop new features on top of it, like
Success criteria
Replacement. Created a Go module with a CLI front-end which supports the Mydumper features required for DM and Lightning.
Extension. Implements features which further helps the ecosystem
TODO list
Phase 1: Essentials — 8000 points total
Phase 2: Features — 2000 points total
--where
clause (600 points / medium) Support--where
clause dumpling#9Difficulty
Score
Mentor(s)
Recommended skills
The text was updated successfully, but these errors were encountered: