返回知识库
数据与分布式进阶

数据库与分布式基础

范式与反范式、事务隔离级别、分库分表与 CAP 权衡的基本判断方法。

范式与反范式

规范化的目的是消除数据冗余与更新异常,代价是查询需要更多连接。在读多写少、对响应时间敏感的场景中,常有意识地做反范式处理,例如冗余统计字段或建立宽表。

事务与隔离级别

隔离级别越高,并发性能越差。选择隔离级别的依据是业务能容忍哪种异常。

  • 读未提交:可能出现脏读
  • 读已提交:避免脏读,仍可能不可重复读
  • 可重复读:避免不可重复读,仍可能出现幻读
  • 串行化:避免上述异常,并发度最低

分布式系统的取舍

CAP 指出在网络分区发生时,一致性与可用性无法同时完全满足。工程实践中的常见做法是:对账务类数据选择强一致,对展示类数据选择最终一致,并通过补偿机制处理不一致窗口。

分库分表能缓解单库压力,但会带来跨库查询、分布式事务与全局唯一标识等新问题。因此应当先考虑读写分离、缓存与归档,确认仍不满足后再做水平拆分。