聚宽数据(JQData)本地化解决方案:基于MongoDB(上)

2020-05-22 00:00:00 数据库 对象 是一个 配置 访问
——本篇文章 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"
  }
}

相关文章