-
Notifications
You must be signed in to change notification settings - Fork 6.1k
Closed
Labels
challenge-programtype/enhancementThe issue or PR belongs to an enhancement.The issue or PR belongs to an enhancement.
Description
| Focus this week | Current status |
| - Disable DDL for some cases - Finish performance test report |
Target: Make this feature GA - KR1: Finish developing 95% - KR2: Finish testing 90% - KR3: Document, GA announce, etc 90% |
| Plan for the next 4 weeks | Status indicator |
| Finish all testing | The previous week is spend on core bank performance testing, and the result is expected |
Description
When a table is too small, it is located in just one region, that region would become a hotspot, and such hot spots would cause a performance bottleneck. By directly caching the small table data in the TiDB layer, such hot spot issues can be solved.
For a small, often used and rarely changed table, caching the whole table in memory in the TiDB server can improve performance.
Document Collection
- Proposal doc: docs: add small table caching proposal #23673
- Weekly report: See the comments of this issue.
Talent Challenge Program information
- Mentor of this issue: @tiancaiamao
- Recommended skills: Golang, DDL online schema change(Chinese), lease(Chinese)
- Estimated Workloads: 2 Month
Milestones and action items
Milestone 1: Support schema change for caching table, Expected finish date: TBD
- add grammar support in parser #28926
- handle DDL schema changes when a table is set to cachable #29085
- compatibility check with other feature
- admin check / checksum table #29124
- forbid stale read for cache table and support history read #29218
- Forbid cache table operation on partitioned table or view #29318
- disable prepare plan cache for cached table #29641
- For cache table should not be allowed to create indexes #29659
- forbit 'alter table cache' on INFORMATION_SCHEMA,PERF_SCHEMA etc #29837
- statement summary should know the slow write is blocked on read lock lease #29927
- Disable some DDL operation when the table is cached #32826
- compatibility check with ecosystem tools
Milestone 2: Support reading and writing on cached table, Expected finish date: TBD
- handle meta data for the cache table #29151
- Support writing to a cached table #29445
- Support read from a cached table #29446
Milestone 3: Test with abnormal injection cases
- Test by inject failpoint during some DDL change phase
- Chaos testing for the read/write operation
Misc:
- metrics for small cached table #29958
- Add telemetry for cache table #29959
- 'show create table' and INFORMATION_SCHEMA.TABLE #30950
- limit the size of the table that can be cached #30962
Limitation & Known bugs
- small cached table doesn't support index merge #29682
- clean up the
mysql.table_cache_metatable data -
maintain the local state to avoid unnecessary load cache request - better display for 'explain analyze ...' on a cached table #31184
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
challenge-programtype/enhancementThe issue or PR belongs to an enhancement.The issue or PR belongs to an enhancement.