A:在天软中,对于数据的提取,导出导入等做了一定的上限设置,该设置是为了保证服务器的正常服务,避免用户不合理命令引起服务器异常。
比如常见需要注意的:
1、select一次性提取的数据点数不能超过2亿个单元格的量
相关FAQ:
Q:select能提取到最大的数据结果集是多少
2、用户程序一次性返回的结果集不能超过1GB的量
相关FAQ:
Q:天软对数据返回结果集的大小做了最大上限设置
3、导出.STM的数据文件默认情况下一次性不得超过200M等
相关FAQ:
Q:客户端导入导出数据的大小限制或导出.STM数据时报错:”导出过程中发生错误!“
那么,对于数据点数,数据行列数与数据文件大小,该如何估算?
这里,我们以取行情数据表格为例,给出一个大小对照情况,供用户参考估算:
参考说明:
1、以行情数据为例,对数据大小按行列进行估算,数据大小实际还与数值类型相关,所以,该种对照只是估算,仅作为参考。
2、
天软行情表格字段数为58列,下面的交易明细与分钟线的转换是在全字段的情景下测试,日线的转换设定为20个字段的情况下测试。
3、换算成高频行情的量按股票的日量为单位,交易明细一日设定为4800行,分钟线240行。
4、下面的取数时间为一般情况下的时间估算,根据取数方式及服务器当前的状态,效率存在快慢差异属于正常现象。
5、天软说明中数据大小(单位为M或G的)是指导出为STM文件的大小。
6、下列数据大小均是在保存行情表字符串列名的情况下记录,若无须列名,转成自然数字列名数据的存储大小要更小,以日线数据为例(20个列名),字符串列名->数字列名后数据大小缩小的比例约为69%。
注:少量的情况下这个比例会更低,大量(超过10M)的情况下比较接近这个比例。
数据大小(STM) | 数据点 | 行*列 | 换算成交易明细 | 换算成分钟线 | 高频取数时间 | 换算成日线
|
---|
1M | 4.6万 | 798*58 | 1支股票1/6 日 | 3.3日 | 0.05s | 2420*20(约1000个票1日的量)
|
10M | 46万 | 7980*58 | 1支股票1.7日 | 33日 | 0.5s | 24200*20(约1000个票1月的量)
|
100M | 462.84万 | 79800*58 | 964日约等于4个票1年的量 | 19285日约等于77个票1年的量 | 2.4s | 242000*20(约1000个票1年的量)
|
1G | 4739.48万 | 817152*58 | 约40个票1年的量 | 约790个票1年的量 | 25s | 2420*1024*20(约1000个票10年的量)
|
建议:
1、在做大数据下载时,强烈建议数据进行分批处理,可参考:FAQ:
Q:如何合理下载大量高频行情数据?
2、用户在导出数据文件时,建议不要导成大数据文件,导出容易出问题外,导入大数据也是一个不好解决的问题。