海量日志

场景

两年半后,数据量激增。

数据规模:

  • 日均调用量:200 万次
  • 日志表记录:每天 200 万条
  • 累计数据:18 个月 × 30 天 × 200 万 = 10 亿条

问题:

  • 查询越来越慢
  • 数据库存储告急
  • 备份时间过长

解决方案

1. 分库分表

2. 冷热分离

设计流程
2. 冷热分离
  1. 步骤 1:归档或清理过期数据
  2. 步骤 2:校验身份、密钥或权限
  3. 步骤 3:确定要处理的数据表、业务记录和一致性边界
  4. 步骤 4:按一致性要求、数据温度和失败情况选择处理路径
关注点:一致性、查询性能、归档边界和可回滚性。

3. 使用 Elasticsearch

设计流程
3. 使用 Elasticsearch
  1. 步骤 1:建立检索结构并按条件查询
  2. 步骤 2:建立检索结构并按条件查询
  3. 步骤 3:确定要处理的数据表、业务记录和一致性边界
  4. 步骤 4:按一致性要求、数据温度和失败情况选择处理路径
关注点:一致性、查询性能、归档边界和可回滚性。

当前架构