在这篇文章中,我们将讨论以下话题:

  • 系统设计速查表
  • 可视化 SQL 查询
  • 云灾难恢复策略

系统设计 15 个核心概念

下图列出了设计系统时的 15 个核心概念。这个速查表很简单,可以逐一查看。保存以供将来参考!

  1. 需求收集 - 理解业务和技术需求
  2. 系统架构 - 设计整体系统结构
  3. 数据设计 - 设计数据模型和存储
  4. 领域设计 - 理解业务领域和边界
  5. 可扩展性 - 系统处理增长的能力
  6. 可靠性 - 系统持续正常运行的能力
  7. 可用性 - 系统可访问的时间百分比
  8. 性能 - 系统响应时间和吞吐量
  9. 安全性 - 保护系统免受攻击
  10. 可维护性 - 系统易于修改和维护
  11. 测试 - 验证系统行为
  12. 用户体验设计 - 设计直观易用的界面
  13. 成本估算 - 评估系统和运营成本
  14. 文档 - 记录系统设计和决策
  15. 迁移计划 - 从旧系统迁移到新系统

SQL 查询执行过程

SQL 语句由数据库系统在几个步骤中执行:

  1. 解析 SQL 语句并检查其有效性
  2. 转换 SQL 为内部表示,如关系代数
  3. 优化内部表示并创建利用索引信息的执行计划
  4. 执行计划并返回结果

云灾难恢复(DR)策略

有效的灾难恢复(DR)计划不仅是预防措施,更是必要条件。

任何稳健 DR 策略的关键在于理解和设置两个关键基准:恢复时间目标(RTO)恢复点目标(RPO)

  • 恢复时间目标(RTO):指你的应用或网络在灾难后可以离线多长时间的最大可接受长度
  • 恢复点目标(RPO):指以时间衡量的最大可接受数据丢失量

让我们探索四种广泛采用的 DR 策略:

1. 备份和恢复策略

这种方法涉及定期备份数据和系统以促进灾后恢复。

  • 典型 RTO:几小时到几天
  • 典型 RPO:几小时到上次成功备份的时间

2. 引导灯方法

维护关键组件处于待激活模式,实现灾难时的快速扩展。

  • 典型 RTO:几分钟到几小时
  • 典型 RPO:取决于数据同步频率

3. 温备解决方案

建立具有当前数据的半活动环境以减少恢复时间。

  • 典型 RTO:通常几分钟到几小时内
  • 典型 RPO:最多到最后几分钟或几小时

4. 热站点/多站点配置

确保完全 operational 的重复环境与主系统并行运行,实现不间断功能。

  • 典型 RTO:几乎立即,通常只需几分钟
  • 典型 RPO:极小,通常只有几秒钟

本文为学习目的的个人翻译,译文仅供参考。

原文链接:EP96: A cheat sheet for system design

版权归原作者或原刊登方所有。本文为非官方译本;如有不妥,请联系删除。