脚本宝典收集整理的这篇文章主要介绍了php – 如何处理用于分析的大型数据集以及不同数量的列?,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
每行代表一个“视图”(如网页)并存储一些固定属性,如用户代理和日期.另外,每个视图可以具有不同数量的额外属性,这些属性与所执行的动作或内容标识符有关.
我查看了amazon SimpleDb,它可以很好地处理不同数量的属性,但是不支持group by,并且在COUNTing行时似乎表现不佳.生成包含30个数据点的月度图表将需要查询每个数据集的每一天.
MySQL更好地处理COUNT和GROUP修饰符,但是附加属性需要存储在链接表和JOIN中以检索属性与给定值匹配的视图,这不是非常快. 5.1的分区功能可能有助于加快速度.
我从上述系统的大量阅读和分析查询中收集到的是,最终所有数据都需要聚合并存储在表中,以便快速生成报告.
我是否错过了我研究中显而易见的任何内容,是否有比使用@L_512_22@更好的方法?它不适合作业,但我找不到任何能够同时进行GROUP / COUNT查询和灵活的表结构的任务.
这样做的缺点是连接表中更新/插入成本的大幅增加:每次数据更改都需要查询记录的所有相关数据,并在第二次插入“普通”表中,类似于
UPDATE join_table JOIN main_table ON main_table.id = join_table.main_id SET main_table.cache = GROUP_CONCAT(CONCAT(join_table.key,'=',join_table.value) SEPARATOR ';') WHERE join_table.main_id = 'foo' GROUP BY main_table.id`).
但是,随着分析数据的发展,它通常会有所不同,所以可能不是每个更新都必须触发缓存中的更新,只需每天使用昨天数据填充缓存的cronscript就可以了.
以上是脚本宝典为你收集整理的php – 如何处理用于分析的大型数据集以及不同数量的列?全部内容,希望文章能够帮你解决php – 如何处理用于分析的大型数据集以及不同数量的列?所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。