我正在为一个移动应用程序构建分析系统,并且在决定如何存储和处理大量数据方面遇到了一些困难。
每行将表示一个“视图”(类似于网页),并存储一些固定属性,例如用户代理和日期。此外,每个视图可能具有不同数量的额外属性,这些属性与执行的操作或内容标识符相关。
我已经查看了Amazon SimpleDb,它可以很好地处理不同数量的属性,但不支持GROUP BY,并且在计算行数时似乎表现不佳。生成一个包含30个数据点的月度图表需要对每个数据集每天进行一次查询。
MySQL可以更好地处理COUNT和GROUP修饰符,但是额外的属性需要存储在链接表中,并且需要JOIN来检索属性匹配给定值的视图,这不是非常快速的。5.1的分区功能可以帮助加速一些操作。
从我对上述系统的阅读和查询分析中得出的结论是,最终所有数据都需要聚合并存储在表中以便快速生成报告。
我在研究中是否错过了任何明显的东西?是否有比使用MySQL更好的方法?它似乎不是正确的任务,但我找不到既能处理GROUP / COUNT查询又具有灵活表结构的系统。