Ideally since the events are quite cleanly seperated, you should flow that into a data aggregation system which can process it in bulk, quite like Hadoop. If you are looking at that data store to be updated in real time you can look into streaming solutions like Spark Streaming.
Since store in hadoop would be much bigger you would not have trouble updated it with even a yr worth of data. You can futher enable your users to drill down in a OLAPish fashion using Shark framework on top of Spark. Users will be able to filter down data in a custom fashion as well as connect conventional BI tools like Tableau to further analyze it. Since data is cached in memory in Shark the performance is quite great ~ 5 sec on 100's GB of data.
Big Data consultant
... View more