免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1887 | 回复: 8
打印 上一主题 下一主题

请教,一个数据库选择的问题,非常感谢 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-06-11 11:35 |只看该作者 |倒序浏览
正在做一个产品,数据库有两个选择Oracle或者MySQL,请大家帮我出出主意,非常感谢!

我的数据流大概如下:
1.从设备采集数据,每15分钟采集一次;
2.分析数据(JAVA程序),然后存入数据库(原始数据),每个设备一条记录,大概1万个设备,每个设备有3000~5000个属性,每个属性在数据库中为1列;
3.使用存储过程从上面的原始数据中挑选出大概500~1000个属性,计算成大概200个字段的数据,存入数据库;
4.30分钟到达时,把上面200个字段的15分钟的数据汇总成30分钟的数据,存入数据库;(存储过程)
5.60分钟到达时,把15分(或者30分钟)的数据汇总成60分钟的数据,存入数据库;(存储过程)


需求:
1.数据汇总尽量快,从采集数据到最终汇成60分钟的数据要在10分钟内完成;在整点的时候有大量的数据操作(插入,删除,选取);
2.原始数据表中的数据可以保留很短时间(几个小时或者1天,或者就只保留15分钟的数据);
3.计算后的数据保留7天。 记录条数是10000 × 4 × 24 × 7 = 6720000,大概是单表1000万数据;10张表的话大概就是1亿条数据;
4.考虑以后的扩展性,还有另外一种逻辑设备,数量是这个设备的20倍左右,也就是说它的数据将单表过1亿条数据;
5.稳定性比较重要;


请教,大家在选择数据库的时候一般考虑哪些因素?
1. 价格?
2. 稳定性?
3. 其他?

从成本上考虑,应该选mysql,毕竟它便宜,由于我对数据库不是很了解,不知道mysql能不能抗得住这样的数据操作,还有稳定性。

如果选择oracle,就得给产品部门(他们控制成本)一个合理的解释,为什么要选用oracle?

谢谢大家了!

论坛徽章:
0
2 [报告]
发表于 2010-06-11 13:08 |只看该作者
你选择MySQL吧。 对于你这种应用没问题。

论坛徽章:
0
3 [报告]
发表于 2010-06-11 14:14 |只看该作者
感觉还是Oracle
稳妥一些。

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
4 [报告]
发表于 2010-06-11 15:59 |只看该作者
用mysql,前期要规划好分表或者直接使用5.1的partition
用oracle的price比较高点


在整点的时候有大量的数据操作(插入,删除,选取)-----看你的需求没有删除操作
原始数据表中的数据可以保留很短时间(几个小时或者1天,或者就只保留15分钟的数据)---这个可以考虑不用数据库来做吧,可以用shell之类的在fs上做,原则上只将最后永久保留的数据存到数据库,以备以后select

论坛徽章:
0
5 [报告]
发表于 2010-06-11 17:38 |只看该作者
用mysql,前期要规划好分表或者直接使用5.1的partition
用oracle的price比较高点


在整点的时候有大量 ...
ruochen 发表于 2010-06-11 15:59



非常感谢您的回复!

用mysql,前期要规划好分表或者直接使用5.1的partition
==>我对数据库了解比较少,我去查查partition什么意思。

用oracle的price比较高点


在整点的时候有大量的数据操作(插入,删除,选取)-----看你的需求没有删除操作
==>删除主要是定时删除过时数据。

原始数据表中的数据可以保留很短时间(几个小时或者1天,或者就只保留15分钟的数据)---这个可以考虑不用数据库来做吧,可以用shell之类的在 fs上做,原则上只将最后永久保留的数据存到数据库,以备以后selec

==>保存原始数据处于如下原因:从原始数据往其他表中计算数据的公式变动比较多,所以想用存储过程来做。 用一个程序根据配置文件自动生成存储过程。这样,当公式改变以后,只需要修改配置文件,然后用程序生成一下存储过程就行了,不需要修改JAVA代码。

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
6 [报告]
发表于 2010-06-11 18:00 |只看该作者
非常感谢您的回复!

用mysql,前期要规划好分表或者直接使用5.1的partition
==>我对数据库了解比 ...
advCorydon 发表于 2010-06-11 17:38



    ==>删除主要是定时删除过时数据。-----那就做个记录表,在数据库比较闲时做这个操作

论坛徽章:
0
7 [报告]
发表于 2010-06-12 10:17 |只看该作者
你要觉得MYSQL不靠谱,就用ORACLE吧。 不过ORACLE和MYSQL目前一家,无所谓!:wink:

论坛徽章:
1
白银圣斗士
日期:2015-11-23 08:33:04
8 [报告]
发表于 2010-06-12 10:23 |只看该作者
两个都OK。

这个量还没有达到MYSQL和你的要求不能承受的量。

论坛徽章:
0
9 [报告]
发表于 2010-06-13 18:21 |只看该作者
还是oracle吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP