In sql terms we\'re storing data like this:
table events (
id
timestamp
dimension1
dimension2
dimension3
etc.
)
All dimension value
I started to go down this path for a similar purpose (metrics gathering and reporting), and here's where I ended up...
Getting the data in is the easy part. Getting the data out is the hard part.
If you have time and talent, you could learn and use a combination of open source tools as described here: http://kibana.org/infrastructure.html. The parts list:
If you have more money than time, consider Splunk. It's expensive, but it's a good choice for a lot of situations. e.g. I'm in a situation where the client is extremely scarce on people, but they don't mind spending money, so splunk has been a good fit in that it's more of a turn-key solution than learning and stitching together a composite of tools.