Good read, Uncle G. I knew about many parts of this because the ORACLE-based system I ran for the Navy Reserve was a decision-support system with extensive analytics built in, though it wasn't columnar-oriented. Fortunately for us, the personnel database covered less than a million active reservists. (That's as close as I can legally come to the REAL number.) Since it wasn't gargantuan, with billions of items, you could run a query in a relatively short time. It was very rare to see queries that lasted longer than about 15 minutes for a global aggregate of some type. Most of them were managed by jobs for which total run time from start of process to process exit was much less than a minute. Many of them were measured in seconds. We didn't use an OLAP cube but DID provide OLAP for the officers who ran the Navy Reserve.