# mvcc

Published articles for mvcc.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## 【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 的语义基础。

## 【etcd】bbolt 后端：mmap、batch 与单写者约束

DevFeed: [【etcd】bbolt 后端：mmap、batch 与单写者约束](<https://devfeed.tech/articles/etcd-bbolt-mmap-batch-33987.md>)

Original publisher: [Read original article](<https://quant67.com/post/etcd/05-bbolt-backend/05-bbolt-backend.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>), [Databases](<https://devfeed.tech/topics/databases.md>), [Raft](<https://devfeed.tech/topics/raft.md>)

Tags: [apply](<https://devfeed.tech/tags/apply.md>), [backend](<https://devfeed.tech/tags/backend.md>), [batch](<https://devfeed.tech/tags/batch.md>), [bbolt](<https://devfeed.tech/tags/bbolt.md>), [commit](<https://devfeed.tech/tags/commit.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [etcd](<https://devfeed.tech/tags/etcd.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [mmap](<https://devfeed.tech/tags/mmap.md>), [mvcc](<https://devfeed.tech/tags/mvcc.md>), [raft](<https://devfeed.tech/tags/raft.md>), [v3-5](<https://devfeed.tech/tags/v3-5.md>), [v3-5-33](<https://devfeed.tech/tags/v3-5-33.md>)

### AI overview

This article explains how etcd v3.5.33 maps its MVCC storage model onto the bbolt backend. It covers bucket layout, mmap behavior, buffered batch commits, read and write transaction concurrency, and how bbolt's single-writer constraint shapes apply and linearizable reads.

### Source excerpt

钉清 etcd v3.5.33 的 bbolt 后端：bucket 布局、mmap 预映射、100ms/10000 条 batch commit、ConcurrentReadTx 与单写者如何约束 MVCC 读写并发。

## 【etcd】生产全景：缺口、五轴坐标系与 16 篇路线

DevFeed: [【etcd】生产全景：缺口、五轴坐标系与 16 篇路线](<https://devfeed.tech/articles/etcd-16-33983.md>)

Original publisher: [Read original article](<https://quant67.com/post/etcd/01-production-overview/01-production-overview.html>)

Author: Liao Tonglang

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

Content type: article

Language: zh

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

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

Tags: [control-plane](<https://devfeed.tech/tags/control-plane.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [etcd](<https://devfeed.tech/tags/etcd.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [lease](<https://devfeed.tech/tags/lease.md>), [mvcc](<https://devfeed.tech/tags/mvcc.md>), [overview](<https://devfeed.tech/tags/overview.md>), [raft](<https://devfeed.tech/tags/raft.md>), [v3-5](<https://devfeed.tech/tags/v3-5.md>), [v3-5-33](<https://devfeed.tech/tags/v3-5-33.md>), [wal](<https://devfeed.tech/tags/wal.md>), [watch](<https://devfeed.tech/tags/watch.md>)

### AI overview

This article positions an etcd production series by identifying gaps in existing coverage and defining five troubleshooting axes spanning Raft consensus, WAL persistence and recovery, MVCC storage and capacity, Watch behavior, and Lease handling. It anchors the series to etcd v3.5.33 and points to Kubernetes control-plane coupling and a 16-article reading route.

### Source excerpt

相对 distributed/50、39、13 钉清 etcd 生产内核缺口；定义 Raft/WAL/MVCC/Watch/Lease 五轴排障坐标系，给出 16 篇阅读路线与 K8s 控制面耦合指针。版本锚定 v3.5.33。

## 【etcd】Watch 机制：watchableStore、synced/unsynced 与 ErrCompacted

DevFeed: [【etcd】Watch 机制：watchableStore、synced/unsynced 与 ErrCompacted](<https://devfeed.tech/articles/etcd-watch-watchablestore-synced-unsynced-errcompacted-33991.md>)

Original publisher: [Read original article](<https://quant67.com/post/etcd/09-watch/09-watch.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>), [Remote Procedure Call (RPC)](<https://devfeed.tech/topics/rpc.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>)

Tags: [apiserver](<https://devfeed.tech/tags/apiserver.md>), [apply](<https://devfeed.tech/tags/apply.md>), [compaction](<https://devfeed.tech/tags/compaction.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [errcompacted](<https://devfeed.tech/tags/errcompacted.md>), [etcd](<https://devfeed.tech/tags/etcd.md>), [io](<https://devfeed.tech/tags/io.md>), [k8s](<https://devfeed.tech/tags/k8s.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [lag](<https://devfeed.tech/tags/lag.md>), [leader](<https://devfeed.tech/tags/leader.md>), [lease](<https://devfeed.tech/tags/lease.md>), [mvcc](<https://devfeed.tech/tags/mvcc.md>), [notify](<https://devfeed.tech/tags/notify.md>), [raft](<https://devfeed.tech/tags/raft.md>), [range](<https://devfeed.tech/tags/range.md>), [restore](<https://devfeed.tech/tags/restore.md>), [revision](<https://devfeed.tech/tags/revision.md>), [rpc](<https://devfeed.tech/tags/rpc.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>), [watchablestore](<https://devfeed.tech/tags/watchablestore.md>)

### AI overview

This article examines the etcd v3.5.33 watchableStore implementation, including synced and unsynced watcher groups, victims caused by backpressure, Apply-time notification, historical synchronization, and the ErrCompacted client resynchronization boundary. It also discusses event ordering, follower watch progress, and interactions with Kubernetes apiserver watch caches.

### Source excerpt

钉 etcd v3.5.33 watchableStore 的 synced/unsynced/victims 三分法、Apply 后 notify 与历史追赶 syncWatchersLoop，以及 CompactRevision 触发 ErrCompacted 时的客户端重同步边界。

## 【etcd】treeIndex 与 Apply 管道：propose -\> commit -\> apply

DevFeed: [【etcd】treeIndex 与 Apply 管道：propose -\> commit -\> apply](<https://devfeed.tech/articles/etcd-treeindex-apply-propose-commit-apply-33988.md>)

Original publisher: [Read original article](<https://quant67.com/post/etcd/06-apply-pipeline/06-apply-pipeline.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>), [Back end](<https://devfeed.tech/topics/backend.md>)

Tags: [applied-index](<https://devfeed.tech/tags/applied-index.md>), [apply](<https://devfeed.tech/tags/apply.md>), [backend](<https://devfeed.tech/tags/backend.md>), [bbolt](<https://devfeed.tech/tags/bbolt.md>), [commit](<https://devfeed.tech/tags/commit.md>), [compaction](<https://devfeed.tech/tags/compaction.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [etcd](<https://devfeed.tech/tags/etcd.md>), [index](<https://devfeed.tech/tags/index.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [mvcc](<https://devfeed.tech/tags/mvcc.md>), [raft](<https://devfeed.tech/tags/raft.md>), [range](<https://devfeed.tech/tags/range.md>), [recovery](<https://devfeed.tech/tags/recovery.md>), [revision](<https://devfeed.tech/tags/revision.md>), [store](<https://devfeed.tech/tags/store.md>), [treeindex](<https://devfeed.tech/tags/treeindex.md>), [txn](<https://devfeed.tech/tags/txn.md>), [v3-5](<https://devfeed.tech/tags/v3-5.md>), [wal](<https://devfeed.tech/tags/wal.md>), [watch](<https://devfeed.tech/tags/watch.md>)

### AI overview

This tutorial explains the etcd v3.5.33 apply pipeline from Raft commit to MVCC application. It covers the separation between propose, commit, and apply; the roles of treeIndex and bbolt; consistent-index updates; watch notification timing; and troubleshooting committed-versus-applied lag.

### Source excerpt

走读 etcd v3.5.33 从 Raft commit 到 MVCC apply 的串行管道：treeIndex 与 bbolt 分工、consistent index、watchableStore 通知触发点，以及 committed/applied 分列排障。

## 【etcd】Txn 与并发语义：compare/mod 与 Jepsen 边界

DevFeed: [【etcd】Txn 与并发语义：compare/mod 与 Jepsen 边界](<https://devfeed.tech/articles/etcd-txn-compare-mod-jepsen-33993.md>)

Original publisher: [Read original article](<https://quant67.com/post/etcd/11-txn-semantics/11-txn-semantics.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>), [version](<https://devfeed.tech/topics/version.md>), [Raft](<https://devfeed.tech/topics/raft.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [bug](<https://devfeed.tech/tags/bug.md>), [compare](<https://devfeed.tech/tags/compare.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [etcd](<https://devfeed.tech/tags/etcd.md>), [jepsen](<https://devfeed.tech/tags/jepsen.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [mvcc](<https://devfeed.tech/tags/mvcc.md>), [raft](<https://devfeed.tech/tags/raft.md>), [serializable](<https://devfeed.tech/tags/serializable.md>), [txn](<https://devfeed.tech/tags/txn.md>), [v3-5](<https://devfeed.tech/tags/v3-5.md>), [v3-5-33](<https://devfeed.tech/tags/v3-5-33.md>), [version](<https://devfeed.tech/tags/version.md>)

### AI overview

This article examines etcd v3.5.33 transaction semantics, including compare operations, nested transactions, MVCC visibility, ReadIndex behavior, and Raft-based atomic application. It distinguishes the design goals of the KV transaction path from the Lease session-lock path and carefully limits Jepsen evidence to etcd 3.4.3 rather than claiming an independent 3.5.33 rerun.

### Source excerpt

钉 etcd v3.5.33 Txn 的 compareToPath、MOD/CREATE/VERSION 比较与写 Txn 的 Raft 单槽 apply，并对照 Jepsen 3.4.3 的 strict-serializable 与 Lease 锁不安全子集。

## 【etcd】排障五轴：Raft/WAL/MVCC/Watch/Lease 口令表

DevFeed: [【etcd】排障五轴：Raft/WAL/MVCC/Watch/Lease 口令表](<https://devfeed.tech/articles/etcd-raft-wal-mvcc-watch-lease-33997.md>)

Original publisher: [Read original article](<https://quant67.com/post/etcd/15-troubleshoot/15-troubleshoot.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>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>)

Tags: [apiserver](<https://devfeed.tech/tags/apiserver.md>), [applied-index](<https://devfeed.tech/tags/applied-index.md>), [apply](<https://devfeed.tech/tags/apply.md>), [committed-index](<https://devfeed.tech/tags/committed-index.md>), [compaction](<https://devfeed.tech/tags/compaction.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [errcompacted](<https://devfeed.tech/tags/errcompacted.md>), [etcd](<https://devfeed.tech/tags/etcd.md>), [five-axes](<https://devfeed.tech/tags/five-axes.md>), [incident](<https://devfeed.tech/tags/incident.md>), [keepalive](<https://devfeed.tech/tags/keepalive.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [lag](<https://devfeed.tech/tags/lag.md>), [lease](<https://devfeed.tech/tags/lease.md>), [mvcc](<https://devfeed.tech/tags/mvcc.md>), [node-lease](<https://devfeed.tech/tags/node-lease.md>), [raft](<https://devfeed.tech/tags/raft.md>), [restore](<https://devfeed.tech/tags/restore.md>), [troubleshooting](<https://devfeed.tech/tags/troubleshooting.md>), [ttl](<https://devfeed.tech/tags/ttl.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>), [wal](<https://devfeed.tech/tags/wal.md>), [watch](<https://devfeed.tech/tags/watch.md>)

### AI overview

This troubleshooting article organizes etcd failures into five diagnostic axes: Raft consensus, WAL persistence and recovery, MVCC storage and capacity, Watch client synchronization, and Lease TTL semantics. It maps symptoms to axes, explains relevant etcdctl health and status fields, and notes Kubernetes control-plane relationships, including apiserver and Node Lease behavior. The article is anchored to etcd v3.5.33.

### Source excerpt

按 Raft、WAL、MVCC、Watch、Lease 五轴做症状否证；解释 etcdctl endpoint status/health 字段语义；并对照 K8s 控制面 apiserver 超时与 Node Lease 漂移。

## 【etcd】Kubernetes 控制面耦合：apiserver、resourceVersion 与 Node Lease

DevFeed: [【etcd】Kubernetes 控制面耦合：apiserver、resourceVersion 与 Node Lease](<https://devfeed.tech/articles/etcd-kubernetes-apiserver-resourceversion-node-lease-33995.md>)

Original publisher: [Read original article](<https://quant67.com/post/etcd/13-k8s-coupling/13-k8s-coupling.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>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [API](<https://devfeed.tech/topics/api.md>), [Cache](<https://devfeed.tech/topics/cache.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [apiserver](<https://devfeed.tech/tags/apiserver.md>), [cache](<https://devfeed.tech/tags/cache.md>), [control-plane](<https://devfeed.tech/tags/control-plane.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [etcd](<https://devfeed.tech/tags/etcd.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [lease](<https://devfeed.tech/tags/lease.md>), [mvcc](<https://devfeed.tech/tags/mvcc.md>), [node-lease](<https://devfeed.tech/tags/node-lease.md>), [raft](<https://devfeed.tech/tags/raft.md>), [resourceversion](<https://devfeed.tech/tags/resourceversion.md>), [v3-5-33](<https://devfeed.tech/tags/v3-5-33.md>), [watch](<https://devfeed.tech/tags/watch.md>), [watch-cache](<https://devfeed.tech/tags/watch-cache.md>)

### AI overview

This article explains how Kubernetes control-plane components interact with etcd. It covers the kube-apiserver boundary, the mapping of resourceVersion to etcd mod revision, Node Lease storage, watch cache behavior, and how compaction, caching, and event sharding affect troubleshooting and etcd load.

### Source excerpt

钉 kube-apiserver 与 etcd 的分层边界；resourceVersion 如何映射 Revision MVCC；Node Lease 如何落在 Lease 轴；以及 apiserver 超时应如何分列到 Raft/Watch/Quota 五轴。

## 【etcd】Compaction、Defrag 与容量：quota、alarm 与 SLO

DevFeed: [【etcd】Compaction、Defrag 与容量：quota、alarm 与 SLO](<https://devfeed.tech/articles/etcd-compaction-defrag-quota-alarm-slo-33994.md>)

Original publisher: [Read original article](<https://quant67.com/post/etcd/12-compaction-quota/12-compaction-quota.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: [alarm](<https://devfeed.tech/tags/alarm.md>), [bbolt](<https://devfeed.tech/tags/bbolt.md>), [benchmark](<https://devfeed.tech/tags/benchmark.md>), [compaction](<https://devfeed.tech/tags/compaction.md>), [defrag](<https://devfeed.tech/tags/defrag.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [errcompacted](<https://devfeed.tech/tags/errcompacted.md>), [etcd](<https://devfeed.tech/tags/etcd.md>), [follower](<https://devfeed.tech/tags/follower.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [lag](<https://devfeed.tech/tags/lag.md>), [leader](<https://devfeed.tech/tags/leader.md>), [mvcc](<https://devfeed.tech/tags/mvcc.md>), [nospace](<https://devfeed.tech/tags/nospace.md>), [performance](<https://devfeed.tech/tags/performance.md>), [quota](<https://devfeed.tech/tags/quota.md>), [raft](<https://devfeed.tech/tags/raft.md>), [resourceversion](<https://devfeed.tech/tags/resourceversion.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 technical article explains how etcd v3.5.33 compaction, defragmentation, quota handling, and the NOSPACE alarm interact. It distinguishes revision-history removal from bbolt file reclamation, describes periodic and revision-based auto-compaction, and connects retention, quota, defrag pauses, and Watch or Kubernetes control-plane behavior to operational SLOs.

### Source excerpt

钉 etcd v3.5.33 MVCC compaction 与 bbolt defrag 的分工、auto-compaction 保留窗口、quota-backend-bytes 与 NOSPACE alarm 写入门，以及 ErrCompacted 如何写进 Watch SLO。

## Decoding isolation levels: I built a toy DB to force dirty reads and phantom reads

DevFeed: [Decoding isolation levels: I built a toy DB to force dirty reads and phantom reads](<https://devfeed.tech/articles/decoding-isolation-levels-i-built-a-toy-db-to-force-dirty-reads-and-phantom-reads-39587.md>)

Original publisher: [Read original article](<https://ankit-rana.com/logs/35-isolation-levels-toy-db-dirty-phantom-reads/>)

Author: hello@ankit-rana.com

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

Content type: tutorial

Language: en

Sources: [Ankit Rana | Mechanical Sympathy](<https://devfeed.tech/sources/ankit-rana-mechanical-sympathy.md>)

Topics: [Databases](<https://devfeed.tech/topics/databases.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Python](<https://devfeed.tech/topics/python.md>), [MySQL](<https://devfeed.tech/topics/mysql.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [locking](<https://devfeed.tech/topics/locking.md>)

Tags: [concurrency](<https://devfeed.tech/tags/concurrency.md>), [databases](<https://devfeed.tech/tags/databases.md>), [isolation-levels](<https://devfeed.tech/tags/isolation-levels.md>), [locking](<https://devfeed.tech/tags/locking.md>), [mvcc](<https://devfeed.tech/tags/mvcc.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [python](<https://devfeed.tech/tags/python.md>), [sql](<https://devfeed.tech/tags/sql.md>), [transactions](<https://devfeed.tech/tags/transactions.md>)

### AI overview

A hands-on tutorial uses a roughly 200-line Python toy database to reproduce transaction anomalies and explain why isolation levels behave differently across PostgreSQL and MySQL InnoDB. It shows that the ANSI SQL isolation table does not fully describe engine behavior, including PostgreSQL's handling of READ UNCOMMITTED and REPEATABLE READ, and MySQL InnoDB's snapshot and next-key locking behavior.

### Source excerpt

The ANSI isolation table lists which anomalies each level permits, but it does not describe what your engine actually does: Postgres silently upgrades READ UNCOMMITTED to READ COMMITTED, and its REPEATABLE READ prevents phantoms that the standard allows. Phantom reads are a locking problem rather than a row problem, because you cannot lock a row that does not exist yet. Snapshot isolation stops every anomaly the table names and still permits write skew, which the table never mentions.

## Aurora DSQL: Scalable, Multi-Region OLTP

DevFeed: [Aurora DSQL: Scalable, Multi-Region OLTP](<https://devfeed.tech/articles/aurora-dsql-scalable-multi-region-oltp-41849.md>)

Original publisher: [Read original article](<https://muratbuffalo.blogspot.com/2026/07/aurora-dsql-scalable-multi-region-oltp.html>)

Author: Murat (noreply@blogger.com)

Published: 2026-07-24T00:15:59Z

Content type: opinion

Language: en

Sources: [Metadata](<https://devfeed.tech/sources/metadata.md>)

Topics: [DSQL](<https://devfeed.tech/topics/dsql.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>), [Replication](<https://devfeed.tech/topics/replication.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Transactions](<https://devfeed.tech/topics/transactions.md>), [Routing (disambiguation)](<https://devfeed.tech/topics/routing.md>), [stateless](<https://devfeed.tech/topics/stateless.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [aws](<https://devfeed.tech/tags/aws.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [concurrency-control](<https://devfeed.tech/tags/concurrency-control.md>), [database](<https://devfeed.tech/tags/database.md>), [databases](<https://devfeed.tech/tags/databases.md>), [distributed-transactions](<https://devfeed.tech/tags/distributed-transactions.md>), [distsql](<https://devfeed.tech/tags/distsql.md>), [dsql](<https://devfeed.tech/tags/dsql.md>), [mvcc](<https://devfeed.tech/tags/mvcc.md>), [paper-review](<https://devfeed.tech/tags/paper-review.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [replication](<https://devfeed.tech/tags/replication.md>), [routing](<https://devfeed.tech/tags/routing.md>), [stateless](<https://devfeed.tech/tags/stateless.md>), [transactions](<https://devfeed.tech/tags/transactions.md>)

### AI overview

An analysis of Aurora DSQL's architecture, which decomposes a traditional monolithic database into independently scalable services for query processing, storage, conflict resolution, replication, and routing. It also examines synchronized clocks, MVCC, snapshot isolation, and optimistic concurrency control.

### Source excerpt

The Aurora DSQL paper finally dropped. Reading it yesterday was an interesting experience, because I spent two years (2022-23) working with the AWS team that designed and built Aurora DSQL. Since I have been very familiar with the architecture, the paper's overview description of the system didn't excite me much. And if I am being honest, reading the paper also felt a bit dry, most likely because I am not doing the usual extra thinking to explore/understand the ideas in the paper. But taking a step back today, and leaving my subjective experience aside, I will try to elaborate on how the DSQL architecture is actually built on a set of aggressive and opinionated engineering bets. If I had to explain this architecture in a single sentence (just as I used to do for other teams at AWS) it would be this: We took a traditional monolithic database and blew out every single component into an independent, horizontally scalable service. Exploding the Monolith DSQL divides the database into the following specialized services: Query Processors (QP): Stateless virtual machines that run a custom PostgreSQL engine to parse queries and buffer writes locally. Storage Nodes: Sharded nodes that hold the data and use multiversion concurrency control (MVCC) to serve historical data to QP instantly. Adjudicators: The conflict-resolution layer that checks if a transaction handed of to them by QP is safe to commit. Journals: A highly available replication log that durably saves transactions across zones or regions. (Good for short term durability before this reaches the storage nodes. See my MemoryDB review.) Crossbars: The routing layer that reads the updates from the Journals and sends changes to the right Storage Nodes. The Big Architectural Bets in DSQL Design Well, in addition to fully committing to the disaggregation principle, here are the other big bets in DSQL design. The Synchronized Clock Bet: To get reads without coordination, DSQL relies entirely on highly synchronized physica

## 【分布式系统百科】etcd 深度解剖：从 Watch 机制到 MVCC 存储引擎

DevFeed: [【分布式系统百科】etcd 深度解剖：从 Watch 机制到 MVCC 存储引擎](<https://devfeed.tech/articles/etcd-watch-mvcc-33979.md>)

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

Author: Liao Tonglang

Published: 2026-04-13T00:00:00Z

Content type: article

Language: zh

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

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

Tags: [apiserver](<https://devfeed.tech/tags/apiserver.md>), [boltdb](<https://devfeed.tech/tags/boltdb.md>), [compaction](<https://devfeed.tech/tags/compaction.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [distributed-coordination](<https://devfeed.tech/tags/distributed-coordination.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [etcd](<https://devfeed.tech/tags/etcd.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [lease](<https://devfeed.tech/tags/lease.md>), [mvcc](<https://devfeed.tech/tags/mvcc.md>), [raft](<https://devfeed.tech/tags/raft.md>), [revision](<https://devfeed.tech/tags/revision.md>), [streaming](<https://devfeed.tech/tags/streaming.md>), [watch](<https://devfeed.tech/tags/watch.md>)

### AI overview

This article explains etcd's persistent Watch mechanism, revision-based event replay, MVCC storage, and its relationship with Raft and WAL. It also describes how Kubernetes components use etcd Watch events to propagate Deployment and Pod changes, and discusses compaction limits and recovery through full resynchronization.

### Source excerpt

深入剖析 etcd 的核心机制：持久化 Watch 与 Revision 追溯、Lease 租约机制、基于 BoltDB 的 MVCC 存储引擎、与 Raft 共识的联动方式，以及在 Kubernetes 中的关键角色。涵盖性能调优策略、容量限制与规模化方案。

## 【分布式系统百科】分布式 KV 存储对比：etcd、TiKV 与 FoundationDB

DevFeed: [【分布式系统百科】分布式 KV 存储对比：etcd、TiKV 与 FoundationDB](<https://devfeed.tech/articles/kv-etcd-tikv-foundationdb-33978.md>)

Original publisher: [Read original article](<https://quant67.com/post/distributed/39-kv-stores/kv-stores.html>)

Author: Liao Tonglang

Published: 2026-04-13T00:00:00Z

Content type: comparison

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: [bbolt](<https://devfeed.tech/tags/bbolt.md>), [boltdb](<https://devfeed.tech/tags/boltdb.md>), [compaction](<https://devfeed.tech/tags/compaction.md>), [coreos](<https://devfeed.tech/tags/coreos.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [errcompacted](<https://devfeed.tech/tags/errcompacted.md>), [etcd](<https://devfeed.tech/tags/etcd.md>), [go](<https://devfeed.tech/tags/go.md>), [k8s](<https://devfeed.tech/tags/k8s.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [lease](<https://devfeed.tech/tags/lease.md>), [mmap](<https://devfeed.tech/tags/mmap.md>), [mvcc](<https://devfeed.tech/tags/mvcc.md>), [raft](<https://devfeed.tech/tags/raft.md>), [readindex](<https://devfeed.tech/tags/readindex.md>), [revision](<https://devfeed.tech/tags/revision.md>), [single-raft-group](<https://devfeed.tech/tags/single-raft-group.md>), [ssd](<https://devfeed.tech/tags/ssd.md>), [v3](<https://devfeed.tech/tags/v3.md>), [wal](<https://devfeed.tech/tags/wal.md>), [watch](<https://devfeed.tech/tags/watch.md>)

### AI overview

This Chinese-language comparison examines etcd, TiKV, and FoundationDB as distributed key-value stores for metadata. It focuses on architecture, implementation, performance, and limitations, with detailed coverage of etcd's single Raft group, MVCC, Watch, Lease, bbolt storage engine, linearizable reads, compaction, and defragmentation.

### Source excerpt

一个典型的架构评审场景：团队需要一个分布式键值存储来承载新系统的元数据。候选方案三个----etcd、TiKV、FoundationDB。三者都提供强一致性保证，都经过大规模生产验证，但设计目标截然不同。选错了，轻则性能不达标，重则数据丢失后无法恢复。这篇文章从架构、实现、性能和局限四个维度，把三个系统拆开来看。

## Building an LSM Storage Engine from Scratch in Rust

DevFeed: [Building an LSM Storage Engine from Scratch in Rust](<https://devfeed.tech/articles/building-strata-39414.md>)

Original publisher: [Read original article](<https://n8z.dev/posts/building-strata/>)

Author: Nevin Zheng

Published: 2026-03-05T00:00:00Z

Content type: opinion

Language: en

Sources: [nevzheng](<https://devfeed.tech/sources/nevzheng.md>)

Topics: [Rust](<https://devfeed.tech/topics/rust.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Data structures](<https://devfeed.tech/topics/data-structures.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [compaction](<https://devfeed.tech/tags/compaction.md>), [data-structures](<https://devfeed.tech/tags/data-structures.md>), [database](<https://devfeed.tech/tags/database.md>), [merge](<https://devfeed.tech/tags/merge.md>), [mvcc](<https://devfeed.tech/tags/mvcc.md>), [rust](<https://devfeed.tech/tags/rust.md>), [storage](<https://devfeed.tech/tags/storage.md>), [storage-engine](<https://devfeed.tech/tags/storage-engine.md>)

### AI overview

A personal engineering account of building an LSM storage engine from scratch in Rust. The author discusses choosing LSM trees, prioritizing correctness and developer experience, versioning keys for possible MVCC exploration, and considering key-value separation to reduce compaction costs.

### Source excerpt

Building my own perfectly imperfect LSM storage engine from scratch in Rust.

## MVCC and serializability in HyPer

DevFeed: [MVCC and serializability in HyPer](<https://devfeed.tech/articles/mvcc-and-serializability-in-hyper-39630.md>)

Original publisher: [Read original article](<https://www.gauravsarma.com/posts/2024-11-06_MVCC-and-serializability-in-HyPer-564430884c9a>)

Published: 2024-11-06T00:00:00Z

Content type: article

Language: en

Sources: [Gaurav Sarma's Blog](<https://devfeed.tech/sources/gaurav-sarma-s-blog.md>)

Topics: [Database](<https://devfeed.tech/topics/database.md>), [Transactions](<https://devfeed.tech/topics/transactions.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [locking](<https://devfeed.tech/topics/locking.md>), [Deadlock](<https://devfeed.tech/topics/deadlock.md>), [processing](<https://devfeed.tech/topics/processing.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [concurrency](<https://devfeed.tech/tags/concurrency.md>), [concurrency-control](<https://devfeed.tech/tags/concurrency-control.md>), [database](<https://devfeed.tech/tags/database.md>), [deadlock](<https://devfeed.tech/tags/deadlock.md>), [locking](<https://devfeed.tech/tags/locking.md>), [mvcc](<https://devfeed.tech/tags/mvcc.md>), [processing](<https://devfeed.tech/tags/processing.md>), [transactions](<https://devfeed.tech/tags/transactions.md>)

### AI overview

This article explains Multi-Version Concurrency Control (MVCC), contrasts it with Two-Phase Locking, and introduces MVCC patterns and techniques used in HyPer. It discusses locking phases, deadlocks, cascading rollbacks, and concurrency limitations.

### Source excerpt

. [MVCC and Serializability in HyPer](mvcc-and-serializability-in-hyper-cover...

## MVCC in the Cloud

DevFeed: [MVCC in the Cloud](<https://devfeed.tech/articles/mvcc-in-the-cloud-34374.md>)

Original publisher: [Read original article](<https://tapoueh.org/blog/2010/07/mvcc-in-the-cloud/>)

Author: Dimitri Fontaine PostgreSQL Major Contributor; Author

Published: 2010-07-06T08:50:00Z

Content type: opinion

Language: en

Sources: [Dimitri Fontaine](<https://devfeed.tech/sources/dimitri-fontaine.md>)

Topics: [Cloud](<https://devfeed.tech/topics/cloud.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [SQL](<https://devfeed.tech/topics/sql.md>)

Tags: [cloud](<https://devfeed.tech/tags/cloud.md>), [database](<https://devfeed.tech/tags/database.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [join](<https://devfeed.tech/tags/join.md>), [latency](<https://devfeed.tech/tags/latency.md>), [mvcc](<https://devfeed.tech/tags/mvcc.md>), [network](<https://devfeed.tech/tags/network.md>), [parallel](<https://devfeed.tech/tags/parallel.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [scalability](<https://devfeed.tech/tags/scalability.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

The article examines whether Postgres-R is ready for cloud use, arguing that while it supports elasticity and read scalability across database nodes, write scalability remains unresolved. It proposes remote and mirrored tablespaces for distributing data and processing while preserving transaction boundaries.

### Source excerpt

At CHAR(10) Markus had a talk about Using MVCC for Clustered Database Systems and explained how Postgres-R does it. The scope of his project is to maintain a set of database servers in the same state, eventually. Now, what does it mean to get "In the Cloud"? Well there are more than one answer I'm sure, mine would insist on including this "Elasticity" bit. What I mean here is that it'd be great to be able to add or lose nodes and stay online. Granted, that what's Postgres-R is providing. Does that make it ready for the "Cloud"? Well it happens so that I don't think so.