闭卷说明“为什么分布:容量、地域与故障域”的对象、成立条件和一个失败反例。
数据库系统 · 小纸条
选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。
闭卷说明“分片键与数据倾斜”的对象、成立条件和一个失败反例。
闭卷说明“复制、一致性与 quorum”的对象、成立条件和一个失败反例。
闭卷说明“CAP 的准确使用”的对象、成立条件和一个失败反例。
闭卷说明“文档、键值、列族与图模型”的对象、成立条件和一个失败反例。
闭卷说明“一致性模型与客户端会话”的对象、成立条件和一个失败反例。
闭卷说明“关系型与 NoSQL 的组合边界”的对象、成立条件和一个失败反例。
应覆盖:分片键决定请求路由、负载分布和跨片操作;高基数不等于均匀,时间或大客户都可能形成热点;规则:负载份额 max_i(load_i)/avg(load) 是倾斜信号,设计需同时看读写与数据量;并能围绕“按 tenant_id 分片时超级租户压垮单片,可对大租户再分桶;按递增时间分片会把新写集中到末片”给出可执行或可计算的反查。
应覆盖:分布式化可突破单机容量、靠近用户并隔离故障,但引入网络不确定性、跨节点协调和运维复杂度;规则:先证明单机瓶颈与目标,再承担分布式复杂度;节点更多不自动更可靠;并能围绕“全球用户资料可按 home_region 放置降低延迟,但跨区转账仍需明确主权威、超时和重试语义”给出可执行或可计算的反查。
应覆盖:CAP 讨论网络分区发生时,一致性与可用性的取舍,不是平时任意三选二,也不代表系统只能永久固定一种模式;规则:先定义一致性语义与可用响应,再说明分区下行为,禁止只贴 CP/AP 标签;并能围绕“支付余额在分区时可拒绝部分写以保持单一真值,社交点赞可接受暂时分歧后合并;必须按数据项说明”给出可执行或可计算的反查。
应覆盖:复制提高容错与读扩展;quorum 通过读写副本数交叠提高读到新值概率,但故障、时钟和冲突仍需协议定义;规则:常见交叠条件 R+W>N;写冲突仍需版本、共识或应用合并策略;并能围绕“N=3、W=2、R=2 时 R+W>N,读写集合必有交点;这不自动解决并发写冲突的最终选择”给出可执行或可计算的反查。
应覆盖:线性一致、顺序一致、因果一致和最终一致承诺不同;读己之写、单调读等会话保证直接影响用户体验;规则:最终一致只承诺无新写时趋于同值,不承诺收敛时间、冲突规则或会话体验;并能围绕“用户改头像后刷新应至少读到自己的新头像,即使其他地区稍后收敛;可用粘性会话或版本令牌实现”给出可执行或可计算的反查。
应覆盖:NoSQL 模型各自优化访问模式:文档聚合对象、键值按键取值、列族做宽表与顺序访问、图数据库做多跳关系;规则:模型选择从查询、更新原子边界、关系密度和一致性要求推导;并能围绕“商品详情常整体读取可嵌入文档,好友多跳推荐更适合图遍历;跨聚合强事务会削弱文档模型优势”给出可执行或可计算的反查。
应覆盖:同一系统可按事实权威、搜索、缓存、分析拆分存储,但必须定义单一写入源、同步机制与重建路径;规则:多存储设计必须写清 source of truth、传播延迟、幂等消费、补偿与全量重建;并能围绕“订单以关系库为权威,搜索索引由变更日志异步构建;搜索结果可延迟,扣款状态不能由索引反写”给出可执行或可计算的反查。