2. 数据分类与分级:Tick数据的分类与冷热分离策略
好,咱们接着聊Tick数据的备份与容灾。上一章我讲了整体架构的宏观视角,这一章咱们得把目光聚焦到数据本身。
说白了,你连要备份的是什么数据都不清楚,那架构设计就是空中楼阁。我个人习惯,拿到一个Tick数据系统需求,第一件事不是画架构图,而是先做数据分类与分级。这步走对了,后面事半功倍。
2.1 Tick数据的三大分类
Tick数据,按我的经验,可以粗暴地分成三类:行情、交易、事件。这三类数据的特性完全不同,备份策略也得区别对待。
2.1.1 行情数据
行情数据是最常见的Tick数据。比如股票的最新成交价、买卖盘口、指数点位等等。这类数据的特点是:
- 高频海量:每秒可能产生成千上万条
- 只读不删:历史行情基本不会修改
- 时效性强:实时行情价值最高,历史行情用于回测和分析
我在项目中遇到过,有些团队把行情数据当普通日志存,结果查询历史行情时慢得像蜗牛。嗯,这里要注意,行情数据的存储结构一定要针对时间序列优化。
2.1.2 交易数据
交易数据就敏感多了。包括订单的创建、撤单、成交回报等。这类数据:
- 强一致性要求:不能丢,不能错,顺序不能乱
- 监管审计需求:通常需要保存5年以上
- 数据量相对较小:但每一条都价值连城
你想想看,如果交易数据丢了,那可不是重跑一遍能解决的。我曾经因为一个交易系统的容灾方案没做好,导致某次故障后数据对不上,整整排查了两天。从那以后,我对交易数据的备份策略就格外谨慎。
2.1.3 事件数据
事件数据比较杂,包括系统日志、风控告警、异常事件等。这类数据:
- 用于问题排查:出了故障,第一件事就是翻事件日志
- 数据量大但价值密度低:大部分日志其实没人看
- 需要快速检索:出问题时,你得能秒级定位到相关事件
核心观点:行情数据追求吞吐和压缩比,交易数据追求一致性和持久性,事件数据追求检索速度和成本平衡。三种数据,三种策略,千万别混为一谈。
2.2 数据重要性分级
数据分级,说白了就是给数据贴标签,告诉系统:哪些数据丢了会死人,哪些丢了无所谓。我一般分三级:
| 级别 | 定义 | 典型数据 | 备份策略 |
|---|---|---|---|
| L1 - 关键数据 | 丢失会导致业务中断或监管处罚 | 交易成交记录、订单流水 | 实时同步 + 异地容灾 + 多副本 |
| L2 - 重要数据 | 丢失会影响业务分析或回测 | 完整行情Tick、风控日志 | 准实时同步 + 本地备份 + 定期异地 |
| L3 - 普通数据 | 丢失可以容忍,可从源头重新生成 | 系统调试日志、临时缓存 | 本地备份 + 定期清理 |
这个分级表,我建议你打印出来贴在工位上。每次设计新系统时,先对照这个表给数据定级。我曾经见过一个团队,把所有数据都当L1来备份,结果存储成本爆炸,运维复杂度也上去了。其实很多日志数据,丢了也就丢了,没必要花大价钱做异地容灾。
我的经验:数据分级不是一成不变的。比如行情数据,在交易时段是L2,但在盘后回测时可能就降为L3了。动态分级,能帮你省不少钱。
2.3 冷热数据分离策略
冷热分离,这是Tick数据架构里绕不开的话题。为什么?因为Tick数据太特么多了。一台机器一天可能产生几个TB的行情数据,全存高性能存储上,成本谁也扛不住。
我的做法是:按时间窗口和访问频率来划分。
2.3.1 热数据区
热数据,就是最近几天的数据。这类数据访问最频繁,实时查询、策略计算都要用。我建议:
- 存储介质:NVMe SSD 或 内存
- 保留时间:3-7天
- 备份策略:实时同步到热备节点
2.3.2 温数据区
温数据,是最近几个月的数据。主要用于回测和复盘分析。访问频率明显下降,但偶尔还会用到。
- 存储介质:SATA SSD 或 高性能HDD
- 保留时间:1-6个月
- 备份策略:每日增量备份,每周全量备份
2.3.3 冷数据区
冷数据,就是超过半年的历史数据。说实话,大部分时候没人查。但监管要求必须保存,所以得存着。
- 存储介质:大容量HDD 或 对象存储(如S3)
- 保留时间:按监管要求(通常5-10年)
- 备份策略:压缩归档,异地存储一份即可
避坑指南:我曾经犯过一个错误,把冷热分离的阈值设得太死。结果某次市场剧烈波动,大量历史数据被频繁查询,但系统已经把它们归档到冷存储了,查询延迟飙升。后来我加了一个「自动升温」机制:如果某个冷数据分区在短时间内被多次访问,就自动把它迁回温数据区。
2.4 知识体系总览
说了这么多,咱们用一张图来总结一下本章的核心逻辑。这张图展示了Tick数据的分类、分级以及冷热分离之间的关系。
这张图把咱们今天讲的内容串起来了。从数据分类开始,到重要性分级,再到冷热分离策略,每一步都环环相扣。你设计备份架构时,就按这个流程来,基本不会出大错。
好了,这一章就到这里。数据分类分级是基础,但也是很多团队容易忽视的地方。下一章咱们聊聊具体的备份策略和容灾方案,到时候会用到今天讲的分级体系。