Skip to content
This repository has been archived by the owner on Aug 21, 2023. It is now read-only.

Support dumping SQL files to a local filesystem #1

Open
10 tasks
kennytm opened this issue Dec 8, 2019 · 0 comments
Open
10 tasks

Support dumping SQL files to a local filesystem #1

kennytm opened this issue Dec 8, 2019 · 0 comments

Comments

@kennytm
Copy link
Collaborator

kennytm commented Dec 8, 2019

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 Support parallel dumping of a single table #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
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants