Support JSON | Support JSON function. | In business scenarios that require flexible schema definitions (such as SaaS, Web3, and gaming), the application can use JSON to store information for ODS, transaction indicators, commodities, game characters, and props. |
- Support expression indexes.
- Support generated columns.
| Provides query acceleration for specific field indexes in JSON scenarios. |
Flashback | Support cluster-level flashback. | In game rollback scenarios, the flashback can be used to achieve a fast rollback of the current cluster. This solves the common problems in the gaming industry such as version errors and bugs. |
TiFlash result write-back (supports INSERT INTO SELECT ) | - Easily write analysis results in TiFlash back to TiDB.
- Provide complete ACID transactions, more convenient and reliable than general ETL solutions.
- Set a hard limit on the threshold of intermediate result size, and report an error if the threshold is exceeded.
- Support fully distributed transactions, and remove or relax the limit on the intermediate result size.
| These features combined enable a way to materialize intermediate results. The analysis results can be easily reused, which reduces unnecessary ad-hoc queries, improves the performance of BI and other applications (by pulling results directly) and reduces system load (by avoiding duplicated computation), thereby improving the overall data pipeline efficiency and reducing costs. It will make TiFlash an online service. |
Time to live (TTL) | Support automatically deleting expired table data based on custom rules. | This feature enables automatic data cleanup in limited data archiving scenarios. |
Multi-value Index | Support array index. | Array is one of the commonly used data types in JSON scenarios. For inclusive queries in arrays, multi-value indexes can efficiently improve the query speed. |
TiFlash kernel optimization | - FastScan provides weak consistency but faster table scan capability.
- Further optimize the join order, shuffle, and exchange algorithms to improve computing efficiency and boost performance for complex queries.
- Add a fine-grained data sharding mechanism to optimize the
COUNT(DISTINCT) function and high cardinality aggregation.
| Improve the basic computing capability of TiFlash, and optimize the performance and reliability of the underlying algorithms of the columnar storage and MPP engine. |
TiDB proxy | Implement automatic load balancing so that upgrading a cluster or modifying configurations does not affect the application. After scaling out or scaling in the cluster, the application can automatically rebalance the connection without reconnecting. | In scenarios such as upgrades and configuration changes, TiDB proxy is more business-friendly. |