OceanBase V4 的 Schema Cache 有什么作用?为什么需要多版本 Schema?
Schema Cache 用于缓存表、索引、列等元数据,避免每次 SQL 解析都访问内部表,从而降低延迟、减少元数据争用。
OceanBase 是分布式数据库,DDL 变更不会瞬间同步到所有节点,查询执行期间也可能跨越多个版本。因此 Schema Cache 采用多版本机制,保留最近若干版本的热 Schema,旧版本被驱逐后需要时再从内部表重建。
执行 SQL 时通过 SchemaGuard 固定一个版本,保证该语句在整个执行过程中看到一致的表结构,避免执行中途因 DDL 导致语义变化。