# `Raft` Log Replication - Cont'd

+ `Propose`
+ `Append`
+ `Replicate`
  + `Append`
+ **_`Commit`_**
+ `Apply`

![`smart`](RaftLogReplication06_aa_001_20220511.png)

------------------------------------------------------------
TiKV nodes are actually layered wrappers of data, which is somewhat similar to the seven-layer protocol of TCP/IP.

For example, in the picture, the bottom layer is the data storage layer of RocksDB Raft and RocksDB KV, which stores Raft Log and KV data respectively. Above it is the Raft layer, and above the Raft layer is the MVCC layer. On the MVCC layer, we wrap the Transaction layer. On the Transaction layer is where our application transactions are committed. So, the committed mentioned above is actually an action on the Raft layer, which represents that the Raft Log has been persisted to the TiKV node, that is, RocksDB Raft.
