我正在研究一个每天涉及大量插入的项目。我将有一个用户列表(例如 500k 的用户集),为此我需要每天监视与它们相关的某些活动。
例如,让一组 100 个用户说 U1,U2,...,U100
我需要将他们的每日分数插入到我的数据库中。
考虑用户U1在6月30日-7月6日期间获得的总分如下
June 30 - 99
July 1 - 100
July 2 - 102
July 3 - 102
July 4 - 105
July 5 - 105
July 6 - 107
Run Code Online (Sandbox Code Playgroud)
数据库应该保存每个用户的每日分数,比如
对于用户 U1,
July 1- 1pt (100-99)
July 2- 2pt (102-100)
July 3- 0pt (102-102)
July 4- 3pt (105-102)
July 5- 0pt (105-105)
July 6- 2pt (107-105)
Run Code Online (Sandbox Code Playgroud)
同样,数据库应该保存全套用户的每日详细信息。
在以后的阶段,我设想从这些数据中提取汇总报告,例如每天、每周、每月等的总分;并将其与旧数据进行比较。
我需要从头开始。我有使用 PHP 作为服务器端脚本和 MYSQL 的经验。我对数据库方面感到困惑?既然我每天需要处理大约一百万次插入,那么所有的事情应该注意什么?
MySQL 是否符合我的要求,如果是,应该使用什么存储引擎?最初,我设想创建一个带有外键用户 ID 的用户表和带有日期作为字段的月度评分表。后来我得到建议,先将内容写入 csv/excel,然后在特定时间段后将它们加载到表中。
文件插入是否使事情在这方面更有利。
或者我应该尝试其他一些数据库,NoSQL 方法吗?
编辑 …