Lassen Sie mich zunächst über meine Idee sprechen: Überwachen Sie die Preise vieler Artikel gleichzeitig auf Taobao und ermitteln Sie dann den Preistrend (ich habe vor, einen Crawler zu schreiben, um dies selbst zu erhalten, und ihn dann in der Datenbank zu speichern), aber Es entsteht ein Problem
Wie soll ich Daten speichern, damit ich analysieren kann, welche Artikel in den letzten 2 oder 7 Tagen (vorzugsweise beliebig viele Tage) die größten Preisschwankungen aufweisen, und wie kann ich dies besser umsetzen? Ich kann nicht sagen, dass ich jeden Tag die Datenbank durchsuchen muss, um den Preisunterschied herauszufinden. Kann mir ein erfahrener Meister einen Rat geben?
总不能说每天我都要遍历一次数据库来求价格的差值吧 是觉得开销过大吗?那就把热点数据放Cache,过了这段热点时间就持久化到数据库。
热点数据可以是但不限于:
这几天刚采集的数据
最常常分析的日期段,比如2天、7天、1个月
这个和java没关系吧
数据分析的方法和java不是强相关的,java从某种角度说只是一种工具,可以将你的想法交给计算完成,可以实现你与计算机的交流,有基于java相关的haoop生态,可以了解一哈
需要分析的变动快的 --> 热数据 --> redis , 放在内存;
长期的历史数据 --> 冷数据 --> mysql / oracle ,放在磁盘。