亿万级数据处理问题
公司最近要上一个新系统,关于车辆监控的.
车上有个发送装置,每秒钟会发送一条数据到数据库,主要的事经纬度,速度等一些车辆信息,然后根据这个信息在结合地图控件来检测车辆的行驶路径等情况.
小弟现在的问题是:
1.公司400多台车,一天的数据量就有3千万条,像sql server 2000的数据库能承受的了嘛.
2.如果能那服务器的配置大概应该要怎样,还有数据库的设计有什么的好的方案?
3.还有一个表能记录上亿条数据嘛,查询时效率如何?
请各位高手见笑,小弟之前维护的数据最大也不超过100万条,大数据量的数据处理没有经验,请有经验的高手帮帮忙!!
小弟不胜感激!!
------解决方案--------------------我也没经验,给个建议
每秒一条记录弄长点,比如5秒,10秒。
每天或几天记录放一张表。
如果表太多,可再建个库。
主键和索引是一定要的
------解决方案--------------------这个系统用sqlserver比较吃力,还是oracle好些
------解决方案--------------------分小表,每天的数据存入一张表,统计的时候通过其他方法实现,如要统计一年的数据,先按小表统计天,再从统计结果中统计年的数据
还有一种思路是在前台事先做好平均处理再入库
------解决方案--------------------上亿条纪录没什么问题,看你的单表数据结果还是比较简单的。不会出问题,曾经做过9亿条的纪录,在oracle下面没问题,sqlserver2005现在也能支持物理分表了,但是我在sqlserver2005下还没测试过这样的项目。服务器要求不会特别的高,主要看你的IO操作是不是很大,来决定你使用什么硬件支持(个人感觉,无外非是否使用阵列的问题,用团包,卷之类的项目我还没见过),主要性能还是决定于整个系统的设计,关键看功能,看瓶颈在哪里,就知道需要什么相关的设计了,粗粗这么说,可能无法准备判断。还有“数据库不可能换成oracle,毕竟公司还没有人接触过这个东西,成本高,老板不会考虑的.”这个要尽量改变老板的想法,象你这样的数据库,不论用什么数据库类型,从标准化运营来看,都需要有DBA来支持,开发人员随便兼职管管,容易出现问题的,当然,如果能承受系统停止个1天2天,或者系统数据不是那么重要,到也无所谓,相对来说sqlserver2005,如今性能也还是不错,不过跟微软一个哥们聊过一阵,他似乎更推荐的是sqlserver2005的强大而灵活的商务分析性能。以上意见,只是个人观点,不代表对某种产品的看法,也不做为项目的建议,并对以上所有说法,本人不承担任何责任,只负责接分。
------解决方案--------------------分表
每日一表
或分 当前(每秒钟的数据 是 update) 历史( insert)
或分级
最近 一小时的
最近 一小天的
最近 一月的