php - 如何处理大型(每天超过 100 万行)mySQL 数据库和事务

标签 php mysql performance

我有一个网络服务,每天处理 500k+ 唯一点击(将增加到 4m)。每个访问者有很多日志数据(~5 行/访问)来记录有关每次访问的各种信息(用户代理、IP、位置等)。每天凌晨 1 点,我让 PHP 和 mySQL 将日志表中的所有数据(# uniques、us uniques、平均时间)汇总到另一个汇总表中。每个访问者在访问该站点时都与大约 1k 个不同“组”中的一个相关联,具体取决于某些特征(用户代理、操作系统、位置)总结所有数据需要很长时间,有时会在我们运行时杀死数据库服务器对1k组中的每一组进行汇总查询,然后将数据插入到汇总表中。有没有更有效的方法在 mySQL 数据库中存储和汇总大量日志数据?

最佳答案

如果您要处理非常大的数据集,也许您可​​以看看非关系数据库。

想法不同,需要一点点学习,但最终证明它是您网站在处理大量流量时所需的性能提升。

这里有一些关于 Cassandra 的更多信息,从这里开始,如果听起来很有趣,也许可以看看其他 NoSQL 解决方案

http://en.wikipedia.org/wiki/Apache_Cassandra

关于php - 如何处理大型(每天超过 100 万行)mySQL 数据库和事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4127864/

相关文章:

mysql - 如何使用 withMySQLConn 使用 persistence-mysql 进行查询?

c++ - 什么是 raw_storage_iterator 组件在 C++ 中的用途/优势

performance - JNI - 将表示基本 Java 对象( bool )的作业转换为 native 基本类型( bool )

php - 数组访问、迭代器和 current()

php - 如何在 Symfony2 中使用实体表单字段类型和 JUI 自动完成功能?

mysql - 如果为空则忽略其他日期范围(mysql)

php - 每上传多张照片并将它们分配给数据库中的一个用户 ID

php - 使用 php 页面调用 OpenCV python 脚本

php - 赋予 Zend 导航页面多个 ACL 权限

c# - 使用 WPF 绘制 3D 线