面试知识

存储、搜索与时序从基础到精通

31-存储搜索时序 面试知识整理。

存储、搜索与时序从基础到精通

本文是知识图谱 3.2 的稳定导航入口。产品机制、数据演绎、排障过程和完整面试答案位于 0008 分册;入口只维护统一分析框架、阅读路径、图形与项目索引。

1. 统一九维分析框架

选择存储系统时,先确定业务不变量和访问模式,再沿九个维度比较候选方案:数据与存储模型、写入路径与写放大、查询路径与剪枝、事务与一致性、复制与故障可见性、分片与路由、备份与恢复、在线迁移、容量与成本。

flowchart LR
    A["业务不变量与权威源"] --> B["数据和存储模型"]
    B --> C["写入路径与写放大"]
    B --> D["查询路径与剪枝"]
    C --> E["事务 一致性与复制确认"]
    D --> F["分片 路由与分治归并"]
    E --> G["备份 恢复与故障可见"]
    F --> H["容量 成本与热点"]
    G --> I["在线迁移与回滚"]
    H --> I
    I --> J["项目选型与验证闭环"]
  • 节点: 从业务约束进入物理读写,再进入集群、恢复、迁移与成本。
  • 箭头: 表示后一个决策必须消费前一阶段的真实约束,不能从产品名称反推理由。
  • 前提: 权威数据、搜索索引、分析副本、物化结果和缓存必须分开命名。
  • 正常路径: 先淘汰不能维护业务不变量或恢复目标的方案,再比较性能与成本。
  • 失败路径: 忽略写放大、同步、校验和恢复,会把局部查询收益变成全链路数据风险。
  • 业务结论: 多模型存储不是组件越多越高级,而是用额外同步与运维成本换取明确的读写收益。

2. 分册阅读顺序

编号分册核心问题精通目标
3.2.0知识图谱、迁移路线与选型框架零迁移基线、九维框架、权威源与版本证据用统一问题比较不同产品而非罗列功能
3.2.1PostgreSQL(关系型数据库)存储、MVCC(多版本并发控制)、索引与查询堆表、WAL(预写日志)、版本可见、清理和成本优化器解释交易写入、查询计划、膨胀和长事务因果链
3.2.2MongoDB(文档数据库)文档模型、复制、分片与查询聚合边界、写关注、读关注、副本集与分片键说明灵活模式、确认语义、陈旧读和迁移成本
3.2.3ClickHouse(列式数据库)列存、MergeTree(合并树表引擎)、查询与合并数据部件、排序、稀疏索引、合并和分布式聚合说明列存何时快、小批量与后台合并为何会反噬
3.2.4Elasticsearch(搜索引擎)分片副本、写入、查询与一致性路由、事务日志、刷新、分段、查询扇出与恢复区分写入确认、持久化、搜索可见与业务提交
3.2.5倒排索引、分词、相关性与搜索工程词项、倒排表、分析链、BM25(最佳匹配 25)、召回与重排用数据计算排序并治理搜索质量与发布风险
3.2.6时序模型、物化视图、聚合与冷热治理事件时间、迟到修正、汇总、最新值、降采样与保留说明预计算收益、修正窗口、报警风暴和生命周期成本
3.2.7集群复制、分片、备份恢复与数据迁移四类系统的确认、扩缩容、RPO(恢复点目标)、RTO(恢复时间目标)与切流证明副本不等于备份、迁移完成必须可校验和回滚
3.2.8选型、项目案例、线上排障与综合题库六类项目、多存储边界、事故链与跨章节追问从约束、机制、数据、失败边界和项目证据完成口述

第一次学习按 3.2.0 -> 3.2.8 顺序推进;产品专项复习进入对应分册;系统设计和项目串讲从 3.2.8 开始,再沿详情链接回到机制章节。

3. 权威数据与派生数据边界

sequenceDiagram
    participant B as 业务命令
    participant T as 交易权威源
    participant E as 事务事件或 CDC
    participant D as 文档投影
    participant S as 搜索投影
    participant A as 分析与时序投影
    participant V as 校验和回放
    B->>T: 条件更新并提交不变量
    T-->>B: 返回权威结果和版本
    T->>E: 输出已提交变更
    par 派生投影
        E->>D: 幂等写文档视图
        E->>S: 幂等写搜索索引
        E->>A: 批量写分析明细与汇总
    end
    D-->>V: 行数 版本 删除水位
    S-->>V: 索引版本与业务聚合
    A-->>V: 明细 汇总与迟到修正
    alt 校验通过
        V-->>B: 允许派生读取
    else 延迟或不一致
        V->>E: 从检查点回放
        B->>T: 降级回权威事实
    end
  • 节点: 交易权威源负责业务不变量,其他系统负责可重建的文档、搜索、分析或时序视图。
  • 箭头: 已提交事件驱动幂等投影,校验平台持续比较版本、水位、删除和业务聚合。
  • 前提: 事件包含稳定业务键、版本、顺序或水位,并有可重复读取的权威入口。
  • 正常路径: 派生系统在约定窗口内收敛,读取按用途进入对应视图。
  • 失败路径: 同步延迟、字段不兼容或校验失败时停止扩散,从断点回放并降级回权威源。
  • 业务结论: 搜索分数、分析汇总和缓存命中都不能单独决定库存、订单或资金最终状态。

4. 高频排障与项目入口

  • PostgreSQL(关系型数据库)慢查询、长事务、膨胀、清理落后、检查点尖峰和日志暴涨:进入 3.2.1
  • MongoDB(文档数据库)缓存压力、复制延迟、选举、广播查询、热点分片和迁移异常:进入 3.2.2
  • ClickHouse(列式数据库)数据部件过多、合并积压、内存超限、热点分片和副本恢复:进入 3.2.3
  • Elasticsearch(搜索引擎)写入拒绝、小分段、堆压力、热点分片、相关性回归和恢复风暴:进入 3.2.43.2.5
  • 时序迟到、最新值倒退、物化滞后、冷热查询和报警风暴:进入 3.2.6
  • 复制落后、备份不可恢复、双写分叉、切流回滚和旧主复活:进入 3.2.7
  • WMS(仓储管理系统)库存、跨境物流、支付、异步导出、Runner(执行器)与 IoT(物联网)完整项目话术:进入 3.2.8

5. 正式图形索引

6. 精通级复习路径与完成证据

  1. 对同一业务分别画出权威写入、搜索投影、分析投影和缓存读取,说明各自可以保证与不能保证的边界。
  2. 用九维框架比较四类系统,每个选择都给出工作负载、失败代价、不适用反例和退出路径。
  3. 用具体数据解释写放大、查询剪枝、分片扇出、复制延迟、恢复带宽和迁移追平时间。
  4. 从项目题库随机抽题,按“结论、约束、机制、数据、失败边界、项目证据、验证闭环”连续回答。
  5. 将教学数据替换为面试现场可核验的项目区间,并明确项目实际版本仍需从部署和依赖现场核对。

3.2.03.2.8 共完成 109 个知识小节、327 道六字段章节题、273 道综合长答案、133Mermaid(图表语法) 图和 8PlantUML(开源建模工具) 图。九篇分册定向审计均为零,全部图形已真实渲染,正式图片已目视检查。