聚宽数据(JQData)本地化解决方案:基于MongoDB(上)
——本篇文章 by 。大咖
MongoDB是由C++语言编写的一个基于分布式文件存储的开源NoSQL数据库系统,它提供了可扩展的高性能数据存储解决方案。
由于MongoDB是一个面向文档存储的数据库,所以操作起来比较简单和容易。MongoDB支持丰富的查询表达式,高性能的插入与查询操作,并在负载调节方面提供了较好的支持。MongoDB的这些特性很好地适应了量化策略开发项目对证券数据存储的需求。本文利用聚宽平台的本地化API获取证券数据,并以K线数据为例,演示了如何将获取到的K线数据存储在本地。
我们首先建立一个访问数据库的配置文件(这是一个json文件),这是为了方便在项目中同时访问多个数据源。
{
"default": {
// 这是一个常规的配置方案
// 把这个配置命名为"default"是有专门考量的,后文会提到这个问题
"host": "127.0.0.1:57017",
"dbname": "jq",
"username": "user1",
"password": "12345",
"dbauth": "admin"
},
"server1": {
// 当你的数据库没有配置用户角色的时候
// 你只需要填写下面这两个参数即可
"host": "127.0.0.1:57016",
"dbname": "ttt"
},
"server2": {
// 这实际上是配置了一个复制集
// 关于复制集的概念,就不展开了
"host": "127.0.0.1",
"replicaset": "test_rs"
},
"shard_a": {
// 这是配置了一个分片服务器
// 看起来和配置一个常规的数据库没什么区别
"host": "127.0.0.1:40000",
"dbname": "ttt"
}
}
相关文章