gpt4 book ai didi

php - 如何为流量分析系统构建合适的数据库?

转载 作者:可可西里 更新时间:2023-11-01 06:51:36 25 4
gpt4 key购买 nike

如何为分析服务构建合适的结构?目前我有 1 个表存储有关使用我的客户 ID 访问该页面的每个用户的数据,因此稍后我的客户将能够看到特定日期的统计信息。

我今天想了想,我想知道:假设我有 1,000 个用户,每个人每天在他们的网站上都有大约 1,000 次展示,这意味着我每天在一个表中获得 1,000,000 (1M) 条新记录。 2 个月左右(当表达到 6000 万条记录时)它将如何工作?

我只是觉得,过一段时间它会有很多记录,PHP 查询提取数据会非常繁重、缓慢并占用大量资源,是这样吗?以及如何预防?

我的一个 friend 在做类似的事情,他要为每个客户制作一张新 table ,这是正确的做法吗?

谢谢!

最佳答案

您面临的问题是 I/O 绑定(bind)系统。每天 100 万条记录大约是每秒 12 次写入查询。这是可以实现的,但是在写入的同时拉出数据会使您的系统在硬盘级别受到限制。

您需要做的是配置您的数据库以支持您将要执行的 I/O 量,例如 - 使用适当的数据库引擎(InnoDB 而不是 MyISAM),确保您有足够快的 HDD 子系统(RAID,不是常规驱动器,因为它们可能并且在某些时候会发生故障),优化数据库设计,使用 EXPLAIN 检查查询以查看您可能在哪里出错,甚至可能使用不同的存储引擎 - 个人, 我会用 TokuDB如果我是你。

而且,我真诚地希望您在数据库端而不是在 PHP 端进行查询、排序和过滤。

关于php - 如何为流量分析系统构建合适的数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8575646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com