Two-Phase Locking (Deadlock Detection)
Global wait-for-graphs are created to detect deadlocks. The timer is applied to count how long a transaction has been started. If a transaction is not finished within a given time period, the timer will indicate a potential deadlock.
3-level storage strategy is used to save storage resources and reduce query latency. According to the 3-level storage strategy, all data can be classified into Standard Storage (hot data), Infrequent Access Storage (warm data), and Archive (cold data). Automatic conversion is trigger between different storage levels under different lifecycles. Standard Storage is stored in three copies on SSD and Infrequent access Storage is stored in 2 copies on SATA. Archive is stored in 1.3 copies on SATA.
Relational Key/Value Document / XML
TDSQL supports multiple data models to meet different application requirements. MySQL API, Redis API, and MongoDB API are used with SQL execution engine, KV execution engine and Doc execution engine respectively. There is a data conversion layer between the execution layer and the storage layer to unify the data format.
The TDSQL framework can be divided into the following layers. Computer layer, which consists of the compute engine, is stateless. For the storage layer, data are stored in the unit of the replica set with multiple duplicates. Strong consistency is guaranteed by the Raft consistency model.