找回密码
 注册
Simdroid-非首页
查看: 74|回复: 3

大量数据如何存储的问题

[复制链接]
发表于 2012-8-22 14:53:46 | 显示全部楼层 |阅读模式 来自 上海浦东新区
在做一些关于股票方面的东东
一开始的时候我把这些信息保存在一个excel表中,c(i,j)表示日期date(i)时股票stock(j)的交易信息。
这样处理的时候倒是很方便,在matlab里面恰好就是一个矩阵。

问题是随着数据量的增大,数据的存储与读写就成了个问题:
我现在有所有A股大约2500支,最早上市的从1990年开始,因此交易日期一共有5000多天。
这样组成了一个 2500*5000的矩阵(实际上有很多股票因为上市晚,所以很多数值为0)。

现在问题就来了:我一共才2G的内存,如果整个的读入这个矩阵,必然会造成内存溢出;如果不整个读入,而是一次读取一只股票,则速度非常之慢,每一次读写估计的花上10秒左右。(实际上这些数据本来是按每只股票单独存储的,我用matlab把它们合并到一起就运行了4个小时)

而且现在这些数据还是每日的,如果涉及到高频数据,那更无法想象。

所以我应该采用什么样的方式来保存这些数据呢?我希望能比较速度的读取一批股票在某一些日期的交易数据。

我想利用数据库(DBMS)应该可以满足我的要求,但是没有接触过,不太了解。有以下几个疑问:
第一:是否需要单独学习SQL?
因为我的需求相对简单,我想是不是matlab已经有封装好的数据库操作功能可以实现我的目的,而不需要自己去面对数据库。
第二:应该选择哪种DBMS?是微软的Access还是MySQL之类?
第三:希望大家能给我推荐相关的资料或电子书。

Thanks all!
 楼主| 发表于 2012-8-23 11:57:40 | 显示全部楼层 来自 上海浦东新区
Simdroid开发平台
装了个MYSQL,正在导入数据中

貌似也很慢,每导入一个文件,大概需要25秒钟(数据为5000行 15列,其中大约有10s是读取excel)

希望读取能快点
回复 不支持

使用道具 举报

发表于 2012-8-23 15:34:17 | 显示全部楼层 来自 北京
ithinksoim 发表于 2012-8-23 11:57
装了个MYSQL,正在导入数据中

貌似也很慢,每导入一个文件,大概需要25秒钟(数据为5000行 15列,其中大约 ...

用数据库存储吧,具体怎么存我不是特别了解,但我以前用过MATLAB连oracle数据库,在MATLAB中执行sql语句很方便,速度也不慢。这方面的东西你看看董振海的一本书《精通MATLAB7编程与数据库应用》。
回复 不支持

使用道具 举报

 楼主| 发表于 2012-8-23 16:25:36 | 显示全部楼层 来自 上海浦东新区
rocwoods 发表于 2012-8-23 15:34
用数据库存储吧,具体怎么存我不是特别了解,但我以前用过MATLAB连oracle数据库,在MATLAB中执行sql语句 ...

嗯,正在往MYSQL里面存数据,貌似写入还是挺慢的,读取很快。
整了8个小时,刚刚吧深市的所有股票存到数据库里了,接下来吧沪市股票倒进去。
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-2 02:30 , Processed in 0.028075 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表