1.相比1.9.2,为什么2.0.7的数据记录要把所有品种都放在同一个collection下?就算建了索引,但相比1.9.2的按品种分collection的方法,新版这种做法不是会导致数据插入和读取非常缓慢吗?
2.vnpy 2.0.7的exe安装版和github上的master,为什么有很多代码都不一样?两者不是用同一个版本的吗?
1.相比1.9.2,为什么2.0.7的数据记录要把所有品种都放在同一个collection下?就算建了索引,但相比1.9.2的按品种分collection的方法,新版这种做法不是会导致数据插入和读取非常缓慢吗?
2.vnpy 2.0.7的exe安装版和github上的master,为什么有很多代码都不一样?两者不是用同一个版本的吗?
3.还有一个问题就是,1.9.2会把CTA策略持久化保存的数据存在数据库,而2.0.7则是把持久化数据放在本地。
万一主服务器发生宕机,则备份服务器无法读取主服务器的策略数据,相比1.9.2,这个改动不利于多个服务器交互或者灾备,这么改动的理由是什么?
关于第1个问题的回答,还是想再请教一下。
SQL里全放在一个collection下,这点没有问题。
但在MongoDB里,全放在一个collection下,一是数据量变大后,读取会非常缓慢;二是建了索引或者用update插入,写入的速度也会变慢。
在兼容SQL时,是否需要根据MongoDB和SQL的特性进行区分以提高效率?
这个问题挺好的,一张表或集合数据量过大之后确实有瓶颈,有时间的话我准备来挑战一下分表。
utor wrote:
关于第1个问题的回答,还是想再请教一下。
SQL里全放在一个collection下,这点没有问题。
但在MongoDB里,全放在一个collection下,一是数据量变大后,读取会非常缓慢;二是建了索引或者用update插入,写入的速度也会变慢。
在兼容SQL时,是否需要根据MongoDB和SQL的特性进行区分以提高效率?
对于感觉需要优化的地方,可以自行修改vnpy.trader.database中的代码实现,分表这块倒也不是太麻烦