Hi all.
I have a time series requirement and trying to understand how kairos works. Here is my requirement. Customers transact on merchants and transactions move from an initial state to success or failure states, and I'm interested in queries like calculating the number of transactions (success, or attempts) by customers on a specific merchant or type of merchants in a specific timeframe and other attribute filters. On exploring Kairos docs, found the tags which are used to store attributes are immutable as they are part of primary key.
So, I need to model my metric into 3 metrics rather, initiated_transactions, success_transactions, failure_transactions, which leads to duplication of data as the same transaction moves from initial to success or failure states.
One more concern which I had was, the cardinality of tags, customers, merchants would be too high, or of the order of millions. Given, Kairos compares tags in memory after finding out the buckets to query on, what is the ideal way to model my tags? I'm open to Kairos alternatives as well, if it can be better solved with any other time series DB?