6.典型的数据库存储(LEVELI&II)的部署架构

请关注个人小站http://sqlhis.com/

按照通常想法,只需要一个写入程序+一个容量足够大的数据库就可以了,架构如图:

前面说过高频数据一般是证券公司,基金公司,期货公司等使用,这些公司都严格划分了:

.办公网
.一般服务器网段
.核心网(交易网)

从安全管理角度来说,这些网段的互相访问需要开通网络策略,建立防火墙。还有一些严格限制,例如办公网不能访问核心网,办公网访问一般服务器网通常是通过服务,如果是打算直接通过数据库端口访问,很多公司不允许。

我们开始思考:
1.这个数据库放到哪里?是公司核心网/一般服务器网/办公网?

行情接收程序肯定需要放到核心网,因为行情服务都是直连交易所的,但是高频数据库是直接提供给量化部门,研究员或客户使用的,所以一定不能放到核心网。所以我们有两个选择,一般服务器网或者办公网

.办公网,实际上笔者没见过把服务器放办公网段的情况,况且接收程序是在核心网,核心网直连办公网通常也是不允许的。
.一般服务器网,一般服务器网是一个泛指,实际金融机构的网络划分还会复杂一些。放到这些网,如果研究员就需要开通办公网到数据库的直连,通常来说从安全角度不太推荐这样做。最难的是客户,如果是一些大客户想使用这些数据,难道还让他们连进公司不成?

2.直连数据库有什么风险?
.前面的问题实际上是讨论的网络侵入风险。不考虑这个问题,如果普通的量化研究员连入了数据库,有些什么难点?
如何开权限,如果开只读权限,实际上他们需要建表权限,可能需要建立一个定时任务每天跑指标,也许就需要一个较高的权限,这会出现意外,他们的数据库专业程度比较低,很可能一不小心删了数据。
.在数据库上运行脚本,一种可能是计算一些指标对外发布,这是严格约束准确度和发布时间的。如果这时候有一个研究员的策略程序非常消耗数据库性能,导致了严重的行为问题,就会产生生产事故。
所以不推荐一般研究员直连数据库。
所以笔者推荐的架构是这样的,如图:

数据接收程序依旧放在核心网,存放高频数据的数据库放在一般服务器网,然后添加一个分发程序,包括分发分发的目标依旧是数据库。

这样有什么好处?
1.没有直连数据库的情况了,网络侵入风险降低了
2.分发程序连接数据库的账号只需要只读账号就可以了,安全性进一步提升
3.不会在高频数据库上运行测试性质的脚本了,性能可控。
4.客户端程序可以按需分发(这是一个特性),数据库不需要和源库一样大,可以选择日期和选择代码,只同步需要的数据。
5.客户端数据库完全由用户自行控制,权限极大。
6.数据可以分发给客户,这里说的客户是外网客户。(这里要看下行情的授权,看下这样是否合规)

posted @ 2020-05-20 10:07  artmouse  阅读(199)  评论(0编辑  收藏  举报