Milvus 中的TSO(Timestamp Oracle)是支撑多版本并发控制(MVCC)和一致性保证的核心机制。所有写入操作(Insert/Delete)都会获得一个唯一的、单调递增的时间戳,查询时则通过“保证时间戳”决定可见性。1. TSO 的设计目标全局唯一且单调递增:为每条写入记录提供绝对顺序,实现分布式 MVCC。高可用:依赖于 etcd 的强一致性保证,RootCoord 主节点通过 etcd 选主并独占 TSO 分配权。高性能:Proxy 批量预申请时间戳,减少 RootCoord 的 RPC 压力。混合逻辑时钟:时间戳兼具物理时间属性和逻辑递增能力,便于观察和理解。2. TSO 的结构与实现2.1 时间戳格式Milvus 的 TSO 是一个64 位无符号整数(uint64),结构如下:text| 物理部分 (46 bits) | 逻辑部分 (18 bits) |物理部分(高 46 位)