积木首页 - 学院 - 软件测试 - 技术百科 - 问答 - 黄页 - 手册 - 站长工具 - 社区
登录 | 注册
积木技术社区 » MySQL » 股票数据库设计,望高手指点
打印 楼主:曹雨萌 发表于 2010-03-11 23:57 [回复15次/有效14个,浏览551次]

股票数据库设计,望高手指点

要为公司建立一个股票历史数据库, 主要用来查询,当然还有数据的更新,插入
基本上是近几年的历史数据,记录的是每分钟的数据,每条记录包括时间,价格,成交量等,一年每只股票就有数十万条记录。股票加上外汇基金等有数万只,
比较容易想到的两个方案:
1、建一个数据库,把这些历史数据都放在一个表里, 数据量太大
2、为每个股票单独做表,表太多了

大家都投个意见吧,谢谢了
2楼 发表于 2010-03-12 06:07
谢楼上的,像外汇这些是一天24小时交易的
3楼 发表于 2010-03-12 14:29
一年 250 天 * 4 小时/天 * 60 分钟/小时 = 60000 记录,并没有你所说的 一年每只股票就有数十万条记录。
每条记录包括(股标代码)时间,价格,成交量等,约 80-100字节。
一年60000记录*100Bytes = 6MB 近几年的历史数据 估计在30MB左右。 问题并不大。
但你 股票加上外汇基金等有数万只 20000 * 30MB = 600GB 。这个数据库不算小了。
如果你的需求仅是 主要用于查询某只股票某个时间段数据的查询
则你还不如直接用数据文件来存储,一个股票一个文件,这样速度可以达到最快。
4楼 发表于 2010-03-12 22:50
外汇这些是一天24小时交易的:建议用ORACLE之类的大型数据库,性能、安全性比较高
5楼 发表于 2010-03-13 06:25
时间上分表,可以根据你的数据量及主要应用的查询来灵活组合。
6楼 发表于 2010-03-13 17:58
你估计数据量多大,有多少人使用,要查询多少只股票,
一年每只股票就有数十万条记录,如果有1000只股票的话,就是1亿条记录
似乎MYSQL不适合这么大的数据量
7楼 发表于 2010-03-14 09:01
主要用于查询某只股票某个时间段数据的查询
8楼 发表于 2010-03-15 01:19
哦,不了解外汇,学习了。
那建议你直接用数据文件了。一个股票一个文件,这样速度可以达到最快。
这样,日期你可以直接打开二进制文件直接定位。
9楼 发表于 2010-03-15 12:52
对一种股票建表,然后再考虑数据量,根据时间来分表,做成,一种股票一个序列的数据表,以此建仓
10楼 发表于 2010-03-16 08:11
一年每只股票就有数十万条记录。股票加上外汇基金等有数万只,
主要用于查询某只股票某个时间段数据的查询
------------------------------------
按时间分表即可,每表按股票代码建立索引
因为你是以查询为主,可以在架构上建立master-多slave的架构,再结合lvs访问多slave,这样的架构扩展性强,很容易满足扩展你查询的容量负荷。
11楼 发表于 2010-03-17 10:25
1.可以把股票,外汇,基金分为三类分别存储,因为三类之间的发生关系的业务操作可能性不大
2.每个分类建议是使用分区表的方式存储,可以按年创建分区
备注:可以考虑先创建好5-10年的分区(或者写个 SHELL脚本自动创建)
若是决定不够细分:再月创建子分区,分为两级分区
或者按年分表,再按月创建分区
3.使用分区或分表的好处,可以方便地定期删除多少年前的数据
12楼 发表于 2010-03-17 12:22
你的主要查询应用是什么?
如果只是查某个股票,则可以选用你的方案二,每个一张表
但如果你需要查询本日最高,最低这种分析,则建议使用方案一,一张表。
如果你的查询经常基于时间来查,则可以考虑分区表。
13楼 发表于 2010-03-17 23:52
还有其他的想法的吗?
14楼 发表于 2010-03-18 23:23
如果查询都是基于 select * from tbl where data between xxx and yyy and stockid=123
这样,你可以使用方案二。不过仍然建议你使用时间做为分区表。
15楼 发表于 2012-05-15 10:40
股票知识平台
想要学习炒股技巧的请到这里www.bleindex2.com在这里有你所要的股票知识,炒股技术。
标题:
内容:

PHP: PHP技巧 - PHP基础 - PHP实例 - PHP错误代码 - 正则表达式 - 热门脚本语言: DOS命令 - vbs - CSS/HTML - python - perl - ruby - shell编程 - Powershell

JS: node.js - JS基础 - extjs - jQuery - JavaScript技巧

网址导航成语大全积木 TinyMCE 服务邮箱: Gimoohr(#)gmail.com
Copyright © 2008 Gimoo.Net  京ICP备05050695号