# 【etcd】MVCC 数据模型：Revision、keyIndex 与 generation

DevFeed: [【etcd】MVCC 数据模型：Revision、keyIndex 与 generation](<https://devfeed.tech/articles/etcd-mvcc-revision-keyindex-generation-33986.md>)

Original publisher: [Read original article](<https://quant67.com/post/etcd/04-mvcc-model/04-mvcc-model.html>)

Author: Liao Tonglang

Published: 2026-08-26T00:00:00Z

Content type: tutorial

Language: zh

Sources: [土法炼钢 - 系统与基础设施](<https://devfeed.tech/sources/source-4.md>)

Topics: [etcd](<https://devfeed.tech/topics/etcd.md>), [Raft](<https://devfeed.tech/topics/raft.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>)

Tags: [compaction](<https://devfeed.tech/tags/compaction.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [etcd](<https://devfeed.tech/tags/etcd.md>), [generation](<https://devfeed.tech/tags/generation.md>), [keyindex](<https://devfeed.tech/tags/keyindex.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [mvcc](<https://devfeed.tech/tags/mvcc.md>), [raft](<https://devfeed.tech/tags/raft.md>), [revision](<https://devfeed.tech/tags/revision.md>), [treeindex](<https://devfeed.tech/tags/treeindex.md>), [v3](<https://devfeed.tech/tags/v3.md>), [v3-5](<https://devfeed.tech/tags/v3-5.md>), [v3-5-33](<https://devfeed.tech/tags/v3-5-33.md>), [watch](<https://devfeed.tech/tags/watch.md>)

## AI overview

This article analyzes etcd v3.5.33's MVCC data model through three concepts: globally ordered revisions, keyIndex generations that track key lifecycles, and the division of responsibilities between the in-memory treeIndex and the bbolt backend. It explains how these structures support historical Watch replay, transaction comparisons, compaction, and Kubernetes resourceVersion semantics, while distinguishing etcd revisions from Raft indexes.

## Source excerpt

拆解 etcd v3.5.33 的 Revision (main, sub) 全序、keyIndex/generation 生命周期与 treeIndex 分工；简要对照 v2 平面键空间，交代 MVCC 与 Watch/compaction 的语义基础。