如何构建回测系统(六)
数据量问题
- 粗略估算,从2000年到目前,若完全采用逐笔构建高精度交易数据,至少需要31TB的存储空间
- 内存不可能满足
- 采用文件存储搜索不方便,时间复杂度过高
解决方向
- 抛弃原有的完全将数据放置于内存中的想法
- 引入数据库
- 分表存储和读取
- 应用层做聚合
- 将原来由回测系统每次构建高精度数据,变更为ETL系统做数据的计算和存储,回测系统仅读取,分离其功能
难点
- 为提升开发效率使用的是jpa/hibernate,但是jpa的层级过高,不方便做分表分库聚合,需要使用其底层的接口针对需要分表的对象重新构建应用层数据库接口
- 剥离了项目之后的依赖关系,及接口关系梳理