vn.py量化社区
By Traders, For Traders.
Member
avatar
加入于:
帖子: 13
声望: 0

1.相比1.9.2,为什么2.0.7的数据记录要把所有品种都放在同一个collection下?就算建了索引,但相比1.9.2的按品种分collection的方法,新版这种做法不是会导致数据插入和读取非常缓慢吗?

2.vnpy 2.0.7的exe安装版和github上的master,为什么有很多代码都不一样?两者不是用同一个版本的吗?
description

Member
avatar
加入于:
帖子: 13
声望: 0

3.还有一个问题就是,1.9.2会把CTA策略持久化保存的数据存在数据库,而2.0.7则是把持久化数据放在本地。
万一主服务器发生宕机,则备份服务器无法读取主服务器的策略数据,相比1.9.2,这个改动不利于多个服务器交互或者灾备,这么改动的理由是什么?

Administrator
avatar
加入于:
帖子: 4028
声望: 220
  1. 没影响,这才是SQL类数据库的正确用法
  2. master分支并不一定是release版本,可能更新
  3. 这里主要为了方便,如果确实有多个服务器交互的需求可以自行修改
Member
avatar
加入于:
帖子: 13
声望: 0

关于第1个问题的回答,还是想再请教一下。
SQL里全放在一个collection下,这点没有问题。
但在MongoDB里,全放在一个collection下,一是数据量变大后,读取会非常缓慢;二是建了索引或者用update插入,写入的速度也会变慢。
在兼容SQL时,是否需要根据MongoDB和SQL的特性进行区分以提高效率?

Member
avatar
加入于:
帖子: 38
声望: 11

这个问题挺好的,一张表或集合数据量过大之后确实有瓶颈,有时间的话我准备来挑战一下分表。

Administrator
avatar
加入于:
帖子: 4028
声望: 220

utor wrote:

关于第1个问题的回答,还是想再请教一下。
SQL里全放在一个collection下,这点没有问题。
但在MongoDB里,全放在一个collection下,一是数据量变大后,读取会非常缓慢;二是建了索引或者用update插入,写入的速度也会变慢。
在兼容SQL时,是否需要根据MongoDB和SQL的特性进行区分以提高效率?

对于感觉需要优化的地方,可以自行修改vnpy.trader.database中的代码实现,分表这块倒也不是太麻烦

© 2015-2019 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号-3