# Transaction Persistence


![left](./student-guide/diagram/12-storage-01-01.png)
------------------------------------------------------------

Please review the concept of RocksDB Column Family in the TiKV course. We know that each key-value pair (key - value) of RocksDB can correspond to a unique column family (Column Family). If you do not specify a column family (Column Family), the key-value pair will correspond to the “default” column family (Column Family), which is also the default column family (Column Family) of the RocksDB instance.
The TiDB database also uses the three column families in the RocksDB instance for storing transaction, or column family (CF), to store data, transaction, and lock information. They are: Lock, Default, and Write. For example, if we write < 3, Frank >, we will record the lock (CF) with key = 3 in the Lock column (CF), and put the values “3" and “Frank” in Default. If committed successfully, it will be recorded in the Write column family (CF), and delete it Unlock information.


- Start_TS: The unique version number obtained from the PD at the beginning of the transaction representing the current point in time
- Commit_TS: The version number at the current time obtained from the PD after the first stage of Prewrite is completed.
- primary_key: The key used to store the state of the transaction, selected from all the keys of the transaction, and only one.
- short_value: A value less than 64 bytes.
