我有一个网络服务,每天处理 500k+ 唯一点击(将增加到 4m)。每个访问者有很多日志数据(~5 行/访问)来记录有关每次访问的各种信息(用户代理、IP、位置等)。每天凌晨 1 点,我让 PHP 和 mySQL 将日志表中的所有数据(# uniques、us uniques、平均时间)汇总到另一个汇总表中。每个访问者在访问该站点时都与大约 1k 个不同“组”中的一个相关联,具体取决于某些特征(用户代理、操作系统、位置)总结所有数据需要很长时间,有时会在我们运行时杀死数据库服务器对1k组中的每一组进行汇总查询,然后将数据插入到汇总表中。有没有更有效的方法在 mySQL 数据库中存储和汇总大量日志数据?
最佳答案
如果您要处理非常大的数据集,也许您可以看看非关系数据库。
想法不同,需要一点点学习,但最终证明它是您网站在处理大量流量时所需的性能提升。
这里有一些关于 Cassandra 的更多信息,从这里开始,如果听起来很有趣,也许可以看看其他 NoSQL 解决方案
关于php - 如何处理大型(每天超过 100 万行)mySQL 数据库和事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4127864/