# Raft Log Replication
__*Committed*__
+ Propose
+ Append
+ Replicate
  + Append
+ **Committed**
+ Apply

![right](./student-guide/diagram/RaftLogReplication06_aa_001_20220511.png)

------------------------------------------------------------
Next, let's explain that the commit we mentioned on the raft layer is actually different from what we usually call committed in application development.

Our TiKV node actually packages data in layers. This is a bit similar to the TCP/IP seven-layer protocol. For example, in the figure, the bottom layer is rocksdb raft and rocksdb kv two data storage layers that store raft log and kv data. The top layer is the raft layer, and the raft layer is above MVCC layer. On top of the MVCC layer, we wrapped the Transaction layer again. At the Transaction layer, it is our application's transaction committed. Well, the commit mentioned above is actually an action on the raft layer, which means that the raft log has been persisted to the TiKV node, which is also called rocksdb raft.