JuiceFS + MinIO:Ariste AI 量化投资高性能存储实践

thbcm阅读(418)

Ariste AI 团队在构建量化研究基础设施的过程中,面对总规模超过 500TB,行情与因子数据,经历了从本地盘到最终选择在 MinIO 对象存储之上叠加 JuiceFS 文件系统的四个阶段。通过缓存机制与分层架构,团队实现了高频数据的快速访问与集中管理。
这一实践验证了“缓存加速、弹性对象存储与 POSIX 兼容”三位一体方案在量化场景下的可行性,希望这一经验能为同行提供一些参考。

npm几个实用命令

thbcm阅读(360)

此命令相对其它要介绍的几个命令应该是使用率算高的,它的功能就是指定安装特定的版本

先来看一下package.json版本规则符号对比表:

像Git一样管理数据:深入解析数据库并发控制MVCC的实现

thbcm阅读(396)

如图所示,基础数据的版本为1,同时产生了两个事务:事务A与事务B。这两个事务都各自对数据进行了一些本地修改,这些修改只有事务自己可见,不影响真正的数据。之后事务A首先提交,生成数据版本2;基于数据版本2,又发起了事务C,事务C继续提交,生成了数据版本3;最后事务B提交,此时事务B的结果需要与事务C的结果合并,如果数据没有冲突,即事务B没有修改事务A与事务C修改过的变量,那么事务B可以提交,否则事务B提交失败。

事务在基于基础数据版本做本地修改时,为了不影响真正的数据,通常有两种做法。

1)将基础数据版本中的数据完全拷贝出来再修改;

2)每个事务中只记录更新操作,而不记录完整的数据,读取数据时再将更新操作应用到用基础版本的数据从而计算出结果。

MVCC的设计理念深受版本控制系统(如Git)的影响,其工作流程与版本控制系统的操作流程高度相似。在事务处理中,上述两种策略各有优势,完整拷贝策略简单直观,但可能占用较多存储空间;增量记录策略则更为高效,能有效减少存储开销。

MVCC的工作流程在很大程度上类似于版本控制系统(如Git)的操作流程,可以说,Git等版本控制系统的设计理念深受MVCC思想的影响。

Flink学习笔记:时间与Watermark

thbcm阅读(398)

首先来学习 Flink 的时间属性,作为流处理引擎,时间是实时数据处理的重要依赖,特别是在做时序分析或者特定时间段数据处理时,时间的概念更显得尤为重要。

联系我们