TiDB Experimental Features
This document introduces the experimental features of TiDB in different versions. It is NOT recommended to use these features in the production environment.
Performance
- Raft Engine. (Introduced in v5.4)
- Support collecting statistics for
PREDICATE COLUMNS
(Introduced in v5.4) - Support synchronously loading statistics. (Introduced in v5.4)
Stability
- Improve the stability of the optimizer's choice of indexes (Introduced in v5.0)
- Extend the statistics feature by collecting the multi-column order dependency information.
- Refactor the statistics module, including deleting the
TopN
value fromCMSKetch
and the histogram, and adding NDV information for histogram buckets of each table index. For details, see descriptions about Statistics -tidb_analyze_version = 2
.
- When TiKV is deployed with limited resources, if the foreground of TiKV processes too many read and write requests, the CPU resources used by the background are occupied to help process such requests, which affects the performance stability of TiKV. To avoid this situation, you can use the Quota Limiter to limit the CPU resources to be used by the foreground. (Introduced in v6.0)
Scheduling
- Cascading Placement Rules feature. It is a replica rule system that guides PD to generate corresponding schedules for different types of data. By combining different scheduling rules, you can finely control the attributes of any continuous data range, such as the number of replicas, the storage location, the host type, whether to participate in Raft election, and whether to act as the Raft leader. See Cascading Placement Rules for details. (Introduced in v4.0)
- Elastic scheduling feature. It enables the TiDB cluster to dynamically scale out and in on Kubernetes based on real-time workloads, which effectively reduces the stress during your application's peak hours and saves overheads. See Enable TidbCluster Auto-scaling for details. (Introduced in v4.0)
SQL
- List Partition (Introduced in v5.0)
- List COLUMNS Partition (Introduced in v5.0)
- Dynamic Pruning Mode for Partitioned Tables. (Introduced in v5.1)
- The expression index feature. The expression index is also called the function-based index. When you create an index, the index fields do not have to be a specific column but can be an expression calculated from one or more columns. This feature is useful for quickly accessing the calculation-based tables. See Expression index for details. (Introduced in v4.0)
- Generated Columns (Introduced in v2.1)
- User-Defined Variables (Introduced in v2.1)
- JSON data type and JSON functions (Introduced in v2.1)
- View (Introduced in v2.1)
- Table Lock (Introduced in v4.0.0)
Configuration management
- Persistently store configuration parameters in PD, and support dynamically modifying configuration items. (Introduced in v4.0)
- SHOW CONFIG (Introduced in v4.0)
Data sharing and subscription
- Integrate TiCDC with Kafka Connect (Confluent Platform) (Introduced in v5.0)
Storage
- Disable Titan (Introduced in v4.0)
- Titan Level Merge (Introduced in v4.0)
Backup and restoration
- Back up and restore RawKV (Introduced in v3.1)
Data migration
- Use WebUI to manage migration tasks in DM. (Introduced in v6.0)
Garbage collection
- Green GC (Introduced in v5.0)
Diagnostics
- SQL diagnostics (Introduced in v4.0)
- Cluster diagnostics (Introduced in v4.0)
- Online Unsafe Recovery (Introduced in v5.3)