我的应用会跟踪远程网站上显示的广告的点击次数,并将用户重定向到产品销售页面。
我目前正在使用MySQL存储点击信息(日期,使用的链接,IP地址,广告客户发送的自定义数据等)。该表变得如此之大,以至于它不再适合我们的需求,这些需求是:
高吞吐量(该应用每天处理5-10万次点击,预计会增加)
能够按日期范围报告数据(例如,按国家/地区分组的过去一个月内链接1的点击次数)
我最初的想法是将点击移动到Redis(我们只需将它们存储30天,如果它们没有导致销售,它们就会过期)然后创建一个新的MySQL表来存储生成的统计数据那天,我们只需在点击时更新每个链接的计数器。
当我们开始使用统计表时,由于对该表的查询量,数据库很快就会崩溃。
最好是保持Redis中的点击次数,并为报告设置单独的MongoDB(或其他noSQL DB)吗?或者Mongo可以用来存储整个点击(就像我们在MySQL中做的那样)或者音量是否过高?
我还记得读过MongoDB不擅长从已删除的记录中回收空间,这是否会引起我们的问题,因为90%的点击量会在30天后被删除?
由于
答案 0 :(得分:0)