关系型数据库架构演变 - noodles-v6/myfqa GitHub Wiki

  1. 单机阶段,app与db部署在同一机器上;
  2. db独立;
  3. 读写分离;
  4. 垂直拆分;
  5. 水平拆分;

小结:随着db架构的逐层演变,app的代码变动难度逐渐加大。

            1                 2                     3                          4
                                                                          +------------+
      +----------+       +---------+                                    +-+----------+ |
      | app + db |       |   app   |                +---------------> +-+----------+ +-+
      +----------+       +---------+                |                 |db master c |-+
             +                                      |                 +------------+
             |                                      +                        +
             |           +---------+      +-----------------+                |
             +---------> |   db    | +--->|db master        |                |
                         +---------+      |      +---------+|                |
                                          |    +-+--------+||                |
                                          |  +-+--------+ ++|                |
                                          |  |   slave  +-+ |                v   5
                                          |  +----------+   |            +------------+
                                          +-----------------+          +-+----------+ |
                                                                     +-+----------+ +-+
                                                                     |db master cs+-+
                                                                     +------------+
⚠️ **GitHub.com Fallback** ⚠️