dumpling
dumpling copied to clipboard
Support dumping SQL files to a local filesystem
Create an MVP for this project, showing performance and correctness. See pingcap/community#123 for the full list of expectations.
Checklist:
- [ ] Make sure your architecture takes account of all features in Phases 1 and 2. Implementing those features in the future should not require a complete refactoring.
- [ ] Resulting data are sorted by primary key (
_tidb_rowid, if exists, is always considered as the 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~~ (Postponed into #12, and TiDB may not be able to handle it)
- [ ] Consistency: dumping a snapshot instead of live data (either acquire a read lock or ignore new updates)
- [ ] Error handling and recovery
- [ ] Support all data types allowed by TiDB (text, blob, int, float, decimal, bit, enum, set, timestamp, datetime, date, time, year, json)
- [ ] Does not fail with edge cases for data (e.g. naughty strings, character sets, time zones)
- [ ] Properly handle special features (e.g. special characters in table name, table partitions, views, generated columns, MariaDB sequences, etc.)
- [ ] Has adequate logging and Prometheus metrics
- [ ] Unit test coverage ≥ 75%
Score
- ~~6200~~ 5000