非SQL类数据库简介
MongoDB
MongoDB是一个基于分布式文件储存(bson格式)的非关系型数据库,其特点如下:
面向文档存储,操作比较简单;
支持丰富的存储类型和数据操作;
内置的热数据内存缓存实现更快的读写速度。
MongoDB配置字段
MongoDB在VN Trader中配置时,需要填写以下字段信息:
字段名 | 值 | 是否必填 |
---|---|---|
database.name | “mongodb” | 必填 |
database.host | 地址 | 必填 |
database.port | 端口 | 必填 |
database.database | 数据库名 | 必填 |
database.user | 用户名 | 可选 |
database.password | 密码 | 可选 |
database.authentication_source | [创建用户所用的数据库][AuthSource] | 可选 |
MongoDB的带认证配置示例如下所示:
字段名 | 值 |
---|---|
database.name | mongodb |
database.host | localhost |
database.port | 27017 |
database.database | vnpy |
database.user | root |
database.password | |
database.authentication_source | vnpy |
InfluxDB
InfluxDB是专门针对时间序列数据存储设计的非关系型数据库,其特点如下:
列式数据存储提供极高的读写效率;
采用独立服务进程的模式运行,也能支持多进程的并发访问需求。
在安装时请注意要选择2.0版本的InfluxDB。
InfluxDB配置字段
InfluxDB在VN Trader中配置时,需要填写以下字段信息:
字段名 | 值 | 是否必填 |
---|---|---|
database.name | “influxdb” | 必填 |
database.host | 地址 | 必填 |
database.port | 端口 | 必填 |
database.database | 数据库名 | 必填 |
database.user | 用户名 | 必填 |
database.password | 密码 | 必填 |
InfluxDB配置示例如下所示:
字段名 | 值 |
---|---|
database.name | influxdb |
database.host | localhost |
database.port | 8086 |
database.database | vnpy |
database.user | root |
database.password | 12345678 |
请注意,运行influxd.exe的cmd需要保持运行,如果关闭则会导致InfluxDB退出,或者也可以使用一些辅助工具将其注册为后台运行的Windows服务。
DolphinDB
DolphinDB是浙江智臾科技有限公司研发的一款高性能分布式时序数据库,特别适用于对速度要求极高的低延时或实时性任务,其特点如下:
列式分析型(OLAP)数据库,采用混合引擎(基于内存和硬盘),充分利用缓存来加速;
原生分区表存储,合理的分区方案可以让CPU多线程并行加载每个分区内的数据;
支持高效的数据压缩,显著减小硬盘存储空间的同时,还能大幅降低IO通讯的开销。
尽管DolphinDB是商业软件,但是也提供了免费的社区版,在安装时注意要选择2.0的Beta版本。
DolphinDB配置字段
需要填写以下字段:
字段名 | 值 | 是否必填 |
---|---|---|
database.name | “dolphindb” | 必填 |
database.host | 地址 | 必填 |
database.port | 端口 | 必填 |
database.database | 数据库名 | 必填 |
database.user | 用户名 | 必填 |
database.password | 密码 | 必填 |
DolphinDB配置示例如下所示:
字段名 | 值 |
---|---|
database.name | dolphindb |
database.host | localhost |
database.port | 8848 |
database.database | vnpy |
database.user | admin |
database.password | 123456 |
Arctic
Arctic是由英国量化对冲基金Man AHL基于MongoDB开发的高性能金融时序数据库,其特点如下:
支持直接存储pandas的DataFrame和numpy的ndaaray对象;
允许对数据进行版本化管理(类似于数据库中的git),便于因子挖掘过程中的数据迭代管理;
基于分块化存储和LZ4压缩,在网络和磁盘IO方面节省大量资源,实现最高每秒百万行的数据查询。