I’m looking at InfluxDb to support some use cases in the field of application analytics, reporting and analysis. We would like to store this data for a long time, maybe downsampled after some months.
I think we’re talking about 1-2000 searches per days as for now but this would probably increase up to 10-20 in the future.
Some things we want to do is to:
-
Track the number of searches performed in or “product search” and its filter-selections. To answer questions like “how many total searches during January” or “how many searches filtered on “Blue” during January.
-
Number of “hits” in these searches, so storing one data point for each product that shows up in the search result.
-
Number if clicks on product-links.
I’ve done a proof of concept with InfluxDb where I’m storing this as follows:
-
Searches - Each search is a Measurement, I’m adding the filter options and its values as tags. (Around 10 filters with 10 options each).
-
Search hits - after the search has been performed (using search outside Influx), I store each “hit” from the result list as a Measurement in InfluxDb. To this hit I’ll also store som key properties for the product as taga ie categoryId and SupplierId, to be able to query based on this.
-
Clicks are stored as another Measurement as well.
I have some questions:
- Is this use case a good fit or I’m I “bending” the product to do something it was not intended for?
- Is there anything in the approach that rises any red flags? I’m thinking that storing lots of tags with the measurements is an area where I haven’t seen so much recommendations.
- Would it be considered a good practice to store all these three types of measurement in one database/bucket or should they be in separate? What would drive/influence that decision?
- Is the storage of data inside Influx a “safe” place to keep this data or should I consider also storing it somewhere else?
Thank you!