喜悦国际村 » PHP高级编程 » 千W级数据反馈处理,大家都有什么好设计思路吗?

页: [1] 2
DevilHookey2008-3-24 09:43 AM
千W级数据反馈处理,大家都有什么好设计思路吗?

RT,我自己这边小想了一个,不足的还望大家指教
由入口接受数据并根据数据分类写日志,然后当天日志超过百M定个规则拆分创建下一个日志
然后cron一个分析程序做当天日志分析,写到数据库里,为即时查询用
数据库里的数据超过3个月就移出做成备份LOG,没有需要就不再动这写LOG了

看看大家有什么不同看法没?

[[i] 本帖最后由 DevilHookey 于 2008-3-25 11:30 AM 编辑 [/i]]

php52008-3-24 12:44 PM
不明白做什么,像是数据挖掘工作?

DevilHookey2008-3-24 03:26 PM
基本上属于数据挖掘,更倾向于统计分析

[[i] 本帖最后由 DevilHookey 于 2008-3-25 03:24 PM 编辑 [/i]]

lovecom2008-3-24 03:32 PM
按小时,天分表。log算完后及时gzip或者保留一个月做月排重后gzip

DevilHookey2008-3-25 01:30 AM
[quote]原帖由 [i]lovecom[/i] 于 2008-3-24 11:32 PM 发表
按小时,天分表。log算完后及时gzip或者保留一个月做月排重后gzip [/quote]
这样分表对月即时查询是否会影响效率?

DevilHookey2008-3-25 07:25 AM
村里现在这么冷清?

duketang2008-3-25 07:31 AM
什么类型的数据? 精确到什么程度的分析? 数据递增量?

DevilHookey2008-3-25 09:07 AM
回老亮,
类型多为INT,最多有个IP有个URL
精确到每次反馈
增量大概每天700W-900W

duketang2008-3-26 01:29 AM
统计逻辑呢?
还有这个数据进入的方法是每天进入一次(比如线下数据导入) 还是平均到各个时段进入(线上)
我说的递增量是以后数据量的增长幅度 每天固定都是700-900w 不涨了?

duketang2008-3-26 01:30 AM
还有你即时查询的时候应该是统计结果 表格  不需要看到结果中某一条的内容吧?

DevilHookey2008-3-26 01:54 AM
[quote]
原帖由 [i]duketang[/i] 于 2008-3-26 09:29 AM 发表
统计逻辑呢?
还有这个数据进入的方法是每天进入一次(比如线下数据导入) 还是平均到各个时段进入(线上)
我说的递增量是以后数据量的增长幅度 每天固定都是700-900w 不涨了?
还有你即时查询的时候应该是统计结果 表格  不需要看到结果中某一条的内容吧?
[/quote]
统计逻辑基本是按照反馈回的2个数据主键(INT)把零散数据group划分sum等操作
整个系统是线上的系统也就是实时反馈的,数据月增量大概是在亿的级别上
即时查询也的确是对统计后结果查询,不会给用户详细记录


越发觉得这东西好麻烦啊:(,以前接触这个级别的数据比较少,还希望大家给点帮助了

php52008-3-26 02:15 AM
你不试试下边的mysql分区...

DevilHookey2008-3-26 02:37 AM
[quote]原帖由 [i]php5[/i] 于 2008-3-26 10:15 AM 发表
你不试试下边的mysql分区... [/quote]
这个在数据库上是会采用的,但是我现在说的是一个整体的数据处理方案,看看我顶楼说的方案给点意见吧:)
个人认为你说的属于细节部分,我是认为现有整体方案在讨论方案里的各个部分比较好:)

duketang2008-3-26 05:34 AM
[quote]原帖由 [i]DevilHookey[/i] 于 2008-3-26 09:54 AM 发表
统计逻辑基本是按照反馈回的2个数据主键(INT)把零散数据group划分sum等操作
... [/quote]


不要老绑着db一起说 在这里db只是最终单日结果按月累计的汇总方法

反馈内容

option_1  y||n
option_2  y||n
.........................
option_n  y||n

你每天最终要统计出来的是不是就是

option_1 =y 有多少  或  o1=y and o2=n这样的有多少? 然后再按周 按月 等时段统计?

DevilHookey2008-3-26 05:47 AM
回楼上,我的概念,DB只是因为近期数据对外频繁查询才会设计
如果对外只是定时段的统计分析结果汇报(报表形式)我完全是不会设计DB这个步骤的
每天最终要统计出来的如你所说,但是数据关系会复杂的多

ysixin2008-3-26 06:02 AM
尽量放到另外一台机器

DevilHookey2008-3-26 06:10 AM
[quote]原帖由 [i]ysixin[/i] 于 2008-3-26 02:02 PM 发表
尽量放到另外一台机器 [/quote]
这个是必然的,有条件的话我还打算做多台的处理,不过这个就看上边的安排了:lol

duketang2008-3-26 06:20 AM
查询的数据关系组合出来 有多少种?

我的意思是 db 只存储日分析结果  比如有20中组合 就每天存放20条记录

ps 加我qq或msn说比较好

[[i] 本帖最后由 duketang 于 2008-3-26 02:21 PM 编辑 [/i]]

DevilHookey2008-3-26 06:25 AM
明白楼上的意思了,+你msn聊吧

liyaping2008-3-27 02:04 AM
多此一举
在行业应用上,你这种需求一般不要使用日志法,因为日志的生成速度与处理速度相当的话,日志转移就会是很大负载
一般的通用做法是建立双极缓冲数据库
前级是基于内存的数据库,linux上有很多,缓存单条数据进入初统计,收集后整合入二级数据库(mysql)

比如电力系统的多路异动检测、网页用户访问检测等都是,因为最后mysql只需知道统计值就可以了

[[i] 本帖最后由 liyaping 于 2008-3-27 10:06 AM 编辑 [/i]]


查看完整版本: 千W级数据反馈处理,大家都有什么好设计思路吗?


Powered by Discuz! Archiver 6.1.0  © 2001-2006 Comsenz Inc.
Processed in 0.006784 second(s), 2 queries