I am looking to get some inputs on architectural design on data storage and processing for something new I am working on.
I have large scale datasets (read a few hundred TB) which are used to generate data to power analytics. For the most part the analytics are usually data aggregations along different dimensions which are computed in an offline fashion (think Hive/Pig/Hadoop) and then fed-into/stored in an RDBMS or an in-memory data-store. This allows for fairly low-latency/highly responsive 'online interactions' either via a web-page or an API.
However the new features that are being contemplated involves allowing users to slice and dice the data along various new dimensions. Previously since the dimensionality was low, the batch jobs would compute rollups of the cartesian products of various combinations of these dimensions. The 'online interactions' could then be reduced to a mere lookup operation. This no longer seems viable with increased dimensionality and high cardinality.
So to get to the question, does anyone have any suggestions on new/interesting data architectures/data models/solutions that would be suited for slicing and dicing large-scale datasets along different dimensions while keep interactivity high/latencies low.
Looking forward to hearing from the resident data gurus. TIA.
PS:
1) HN n00b here. Apologies if I am doing anything wrong. 2) In the comments, there is an example provided (here: https://news.ycombinator.com/item?id=7770551).