分库分表后,非分表键查询走 ES 异构索引还是覆盖索引?把代价摊开算笔账
覆盖索引与ES异构索引是解决非分表键查询的两种妥协方案,选择取决于数据量、查询复杂度和运维能力。覆盖索引成本在数据库侧,随分片数线性增长,易引发连接池瓶颈;ES成本在数据同步一致性和集群维护上。数据量小、查询简单时覆盖索引更优,数据量大、需多条件组合查询时ES优势明显,实际场景常采用混合方案。
共 2 篇文章
覆盖索引与ES异构索引是解决非分表键查询的两种妥协方案,选择取决于数据量、查询复杂度和运维能力。覆盖索引成本在数据库侧,随分片数线性增长,易引发连接池瓶颈;ES成本在数据同步一致性和集群维护上。数据量小、查询简单时覆盖索引更优,数据量大、需多条件组合查询时ES优势明显,实际场景常采用混合方案。
订单系统需在线完成分库分表,方案核心是在新旧库间加入动态路由层,通过配置中心实现按用户ID取模的灰度切流。整体架构分为路由决策、配置管理与数据同步三层,并重点解决了全量同步冲突、切流瞬间双写、同步延迟导致数据不可见以及分片键变更等关键问题。最终历时22天完成切换,实现了零停机与性能大幅提升。