Skip to content

alastori/tidb-sandbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TiDB Sandbox

Reproducible experiments exploring TiDB ecosystem behavior, compatibility gaps, and troubleshooting patterns.

Lab Index

Data Migration (DM)

Lab Description Type
lab-00 Build DM Docker images from tiflow source (branch, PR, multi-PR) Scripted
lab-01 MariaDB 10.6.13 privilege fix & workarounds Manual
lab-02 Legacy MariaDB full-load precheck & target fixups Manual
lab-03 Foreign keys and safe mode (short-term workaround) Manual
lab-04 Binlog format requirements (ROW / STATEMENT / MIXED) Scripted
lab-05 Shard merge migration (3 MySQL shards → TiDB, pessimistic mode) Scripted
lab-06 LOCK TABLES privilege and consistency modes (vanilla MySQL vs RDS) Scripted
lab-07 Foreign key v8.5.6 fix validation (13 scenarios, 3 PRs) Scripted
lab-08 Column-level desensitization workarounds (source-side trigger, masking view) Scripted
lab-09 MySQL 8.4 compatibility: full-load + incremental validation + Dumpling workaround Scripted

Dumpling

Lab Description Type
lab-01 View dependencies (ordering + restore correctness) Scripted
lab-02 Partitioned export performance (ORDER BY + composite key) Investigation

Import Into

Lab Description Type
lab-01 Base64 decoding with IMPORT INTO ... SET Manual

TiDB Lightning

Lab Description Type
lab-01 CREATE VIEW privilege required by Lightning conflict_view (logical + physical modes, 8 scenarios) Manual

Sync Diff Inspector

Lab Description Type
lab-01 Data type validation: MySQL vs TiDB Scripted
lab-02 TiCDC syncpoint + sync-diff-inspector validation Scripted

TiDB

Lab Description Type
lab-01 SELECT ... FOR UPDATE OF: base table vs alias Manual
lab-02 CREATE TABLE constraints and generated columns Manual
lab-03 Vector store basics: VECTOR columns, TiFlash, HNSW indexes Project
lab-04 FK and supporting index: MySQL 8.4 vs TiDB 8.5+ Manual
lab-05 Hibernate ORM TiDB CI Project
lab-06 Recursive CTE fan-out: MySQL vs PostgreSQL Manual
lab-07 VARCHAR length enforcement in non-strict SQL mode Investigation
lab-08 SQL proxy switchover: TiProxy vs HAProxy vs ProxySQL Scripted
lab-09 DNS failover: client behavior during endpoint resolution changes Scripted
lab-10 Cloud DNS failover: Dedicated ↔ Essential via CoreDNS CNAME Scripted
lab-11 Cloud proxy failover: HAProxy (L4) vs ProxySQL (L7) on EC2 Scripted
lab-13 Inline FK syntax: silent accept-and-ignore across 8 engines Manual
lab-14 TiDB / TiKV / PD admin-endpoint binding defaults (flag inventory, bind audit, network reach) Investigation
lab-15 TiDB cluster startup behavior with and without inter-component TLS (TLS-off vs TLS-on across bare process, multi-container deploy, and TiDB Operator; tiup playground baseline only) Investigation

Lab Types

Type Description Example
Scripted Full automation with run-all.sh sync-diff/lab-01
Manual Guided SQL exploration tidb/lab-01
Project Python/Java test harness tidb/lab-05
Investigation Multi-phase root-cause analysis tidb/lab-07

Getting Started

Prerequisites: Docker, mysql client, TiUP (optional).

Pick a lab from the index. Each lab's primary .md file has a "Tested Environment" section and either a How to Run section or step-by-step instructions.

Creating a New Lab

See LAB_AUTHORING_GUIDE.md. Templates are in labs/_templates/.

License

MIT

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors