自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 DECODE在WHERE语句中的妙用

假设我们有两个表,需要用ROW_ID连接,找出值相同或者不相同的数据WITH TEMP1 AS( SELECT 1 AS ROW_ID,1 AS COLA FROM DUAL UNION ALL SELECT 2 ,1 FROM DUAL UNION ALL SELECT 3 ,NULL FROM DUAL UNION ALL SELECT 4 ,NULL FROM DUAL)SELECT * FROM TEMP1;WITH TEMP2 AS( SELECT 1 AS RO

2020-06-30 11:42:12 1381

原创 10.数据库存储(LEVELI&II)的难点:分发时节省你的带宽

请关注个人小站:http://sqlhis.com/前面说过,高频数据最好分发的客户端的数据库中,这样可以避免很多性能和安全风险。这里我们讨论一下分发的一些难点:首先明确一点,客户端的高频的数据库是服务器端高频数据库的一个子集。也就是说,你不是把服务器的高频数据库整个复制到客户端。正常来说,客户端应该在维度下载数据:基于时间基于市场或者基于证券ID当然实际情况会复杂一些,不同市场的数据所属的表会不一样,但是总的理念是一致的:按需下载内网随便就是1000M以上的带宽,但是互联网的带

2020-05-26 17:00:15 388

原创 9.数据库存储(LEVELI&II)的难点:使用分区表加速查询

请关注个人小站:http://sqlhis.com/先来看看错误的存储方法,好比行情表,拆分成了如图无数个小表,每天一个表这严重的增加了编程复杂度,例如:取000001.SZ(中国平安)最近一个月每天早上9:30 到10:00之间的最高价和最低价如果在一张表里面,代码大概是这样的SELECT BizDate,MAX(Price) AS MaxPrice,MIN(Price) AS MinPriceFROM vw_TickDatawhere SecId='000001.SZ'and BizD

2020-05-26 16:40:22 513

原创 8.数据库存储(LEVELI&II)的难点:节省你的磁盘

请关注个人小站:http://sqlhis.com/对于高频数据的存储,想节省磁盘空间,可以从两个方面入手:优秀的表设计,消除重复字段等设计技巧应用数据库的压缩功能优秀的表设计,消除重复字段等设计技巧假设我们设计一个行情表,假设有如下字段,通常的设计可能是表格所示我们先来说一下数据库的存储结构,SQL SERVER的存储单位是数据页,每个数据页为8192字节。这8192字节不是全部都可以拿来存储数据,每个数据页头部和尾部会占用一定的空间,实际可用的空间大概是8000字节。按我们的111字节

2020-05-26 16:17:46 685

原创 7.数据库存储(LEVELI&II)的难点:高速数据插入

请关注个人小站:http://sqlhis.com/笔者在这个项目中使用的是SQL SERVER数据库。网络上搜索“SQL SERVER高速数据插入”,可以获得很多结果。大致上是:使用C#的SqlBulkCopy类,这个插入功能确实速度不错,但是我对底层的实现很疑惑,怀疑可能是一个特殊的接口,当然这个以后可以探索一下。使用Bulk Insert,这需要生成特定格式的文件,然后通过文件导入,一次性导入还好,想做到程序里面就相当困难了。直接使用insert语句,把insert串起来,多个insert

2020-05-26 15:39:33 435

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

请关注个人小站:http://sqlhis.com/按照通常想法,只需要一个写入程序+一个容量足够大的数据库就可以了,架构如图:前面说过高频数据一般是证券公司,基金公司,期货公司等使用,这些公司都严格划分了:办公网一般服务器网段核心网(交易网)从安全管理角度来说,这些网段的互相访问需要开通网络策略,建立防火墙。还有一些严格限制,例如办公网不能访问核心网,办公网访问一般服务器网通常是通过服务,如果是打算直接通过数据库端口访问,很多公司不允许。

2020-05-26 11:57:37 250

原创 5.数据库存储(LEVELI&II)的优缺点

请关注个人小站:http://sqlhis.com/从前面的讨论来看,除了实时策略数据一定不落地外,对于需要将历史数据落地的情况。实际上有两个选择。(注:其实还有第三种选择,提供一个高频数据的计算平台,这种编程量就很大的,是个大工程。)文件存储,然后搞一套API接口读取数据,当然这个数据供应商会帮你做好。但是无论如何进行策略回测的时候,研究人员需要自己编写一套程序;又或者研究人员没有这个能力,就需要加上一个专门的程序员来完成研究人员的想法,其中的沟通成本非常高。

2020-05-26 11:11:41 1287

原创 4.资讯厂商如何转发和存储高频行情数据(LEVELI&II)?

请关注个人小站:http://sqlhis.com/券商和基金公司都有LEVEL1数据的接口,如果不需要将历史行情存储下来的话,自己开发一个行情接收程序是不难的,这些公司购买的交易系统,本身就带有接入行情的功能。

2020-05-25 22:34:49 628 1

原创 2.高频行情数据(LEVELI&II)有什么用途?

请关注个人小站:http://sqlhis.com/大部分人能接触到的是通过股票行情软件查看股票的日内分时行情,股票的日线,分钟线,5分钟线等等。例如:分时行情例如:5分钟线,像5分钟线这种数据,都是在分时行情上进行加工后的数据。

2020-05-25 15:47:40 2101

原创 1.什么是高频行情数据(LEVEL1&2)?

请关注个人小站:http://sqlhis.com/一般的股票行情软件,会显示如图的五档盘口,通常来说沪深交易所的价格大概3秒刷新一次,我们称这些为快照行情,如果把当天所有时刻的快照行情都存下来,就可以称为高频数据了。

2020-05-25 14:47:36 4613 1

原创 SQL SERVER 的压缩功能

原文链接:SQL SERVER 的压缩功能SQL SERVER 2008 及以上提供数据库表压缩功能压缩分类和比率压缩分为行(ROW)压缩和页(PAGE)压缩,页压缩的压缩比率更高一些,正常来说一般数据库可以实现50%以上的压缩比率。对性能影响压缩后对磁盘的压力会减少,但是会增加CPU的压力,对性能的影响需要看机器的具体配置,在实际中情况中,经常是CPU没满但是磁盘已满负荷了。对备份恢复等极为有利,一个大数据库,全备份常常要3-4小时,压缩后,全备时间缩减到2小时。

2020-05-22 14:10:44 958

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除