整体分类

mysql+分布式 proxy 扩展

  • 数据强一致性
    • mycat + pxc
  • 数据不要求强一致性
    • mycat + replication
  • 数据强弱一致性都要求
    • 使用 pxc 集群和 replication 集群
    • 如果需要跨两种集群进行查询操作
      • 可以使用同步中间件(比如 kettle)
      • 将 pxc 集群的数据同步到 replication 集群中,由后者在自己的集群中做查询

image.png

  • 多种集群分片同事务
    • 分布式事务,利用消息中间件模拟事务

image.png

数据归档,冷热数据分离

  • MongDB 兼顾读写
  • TokuDB 是 mysql 的一个引擎

image.png

mysql+cache 高并发架构

  • cache 来撑高并发

mysql + 小文件系统

  • 16 mb 以下文件,用 Binary BSON 存储

image.png

  • mongdb 集群

image.png

mysql + infobright 统计分析架构

  • 数据分析

image.png


业务出发

只读系统

  • 数据同步要求很低
  • mysql replication 集群 或者 mongdb 集群 + redis 集群优化读操作

读写系统

  • 数据一致性不高
    • 同只读系统一样
  • 数据一致性高
    • mysql pxc 集群

表类型出发

配置表

  • 存放配置信息和字典信息
    • 优化点: 读单表走 redis,表连接才走 db

状态表

  • 业务实体的状态信息
    • 该分片的分片,否则定义为 mycat 的全局表

日志表

  • 业务实体的状态变化记录
    • 写入性能要求高,使用 mysql replication 集群 or mongdb 集群

归档表

  • 业务实体的冷数据
    • mongdb 集群或者 TokuDB 集群

统计数据表和统计结果表

  • 分别是 OLAP 中的业务数据和统计结果
    • 走 infobright 统计分析架构


表优化

表拆分

  • 业务字段多,数据量大时,可以进行关联字段和业务字段的拆分
    • 关联字段转为索引表,向外提供表连接操作
    • 业务字段转为内容表,存储大部分数据

image.png

  • 作用到集群
    • 先看是否为归档数据
    • 其中索引表和内容表需要进行 父子表 关联,放在同一个分片中

image.png