使用金融时序数据库 TDengine 构建行情中心,用于存储金融行业领域海量的股、基、债、期资产的行情时序数据,结合 TDengine 的高性能计算方案构建行情中心数据应用方案。
详细方案
场景介绍
金融行情数据常常具备如下特征:
- 数据总量:总数据量常常是 TB 的数据,存储管理复杂
- 数据特征:行情数据相对格式固定,自带时间戳
- 子表总数:因资产的多样性,行情中心经常会有几十万的子表,像因子信号表甚至会有近千万表
- 保留时限:行情数据保留期限经常是 5-10 年,甚至 30 年以上
子表多、数据量大、数据格式固定和保留时限长的金融行情数据的存储计算需要十分适合使用 TDengine 时序数据库(Time Series Database,TSDB)来进行处理。因此,在 TDengine 中使用“一个金融品类一个超级表,一个具体金融标的一个子表”建模方式,可以有效的管理海量的行情数据,进而基于 TDengine 高效的计算能力,提供基于行情中心的资产管理、实时监控、绩效分析、风险分析、舆情分控、股票回测、信号模拟(合约、策略等)、报表输出等应用投研服务。
场景需求与痛点
- 每时每刻产生的海量行情数据要求在高效写入的同时做到准确入库。
- 海量行情数据的应用场景非常多样,各种数据计算依赖,要求任意时间的数据高速读取
- 海量金融资产及金融衍生品的监控性,对高性能的计算标准。
- 基于海量行情数据及其产生大量的加工、模拟数据,进行回测、因子、深度学习模型等量化应用
架构图
随着 TDengine 的引入,减少了组件数量,降低架构的复杂度,同时降低了存储成本,提升业务响应实时性,降低了人员要求,释放了业务创新通过 TDengine 多样的数据写入和导入方式,将来自行情数据文件和实时数据流的数据,写入到 TDengine 中,进而通过 SDK 或者 http 的方式构建多样化的金融服务。
收益与价值
平台的收益总结如下:
- 极高的数据压缩率,二段式无损压缩以及浮点数的有损压缩,1/10 的存储成本
- 高速行情数据写入,集群提供 1 亿点/s 的写入速度(点数 = 行数 * 列数)
- 集群系统高可用性:针对数据的高一致性和高可用性,进行多副本的验证、多节点同步写入、数据落盘确认等参数的测试
- 读取速度线性扩展,单资产表查询业务都在 1ms 以内
- 大跨度时间段训练数据读取,全时间轴数据无差异特性,满足选择不同时间段进行模型训练和验证
- 适配了国产化 CPU 与操作系统
客户案例
其他行业解决方案