Of course you can. It's a subset of the same computation, you're just doing it in a different place.
> Somehow in your world audit logging doesn't exist.
If you have to use a separate "audit logging" datastore to augment your relational database then I think you've proven my point.
> Of course you can.
Of course, you can't. Because you can't run a million transformations. Whereas querying specific data for any of the one million clients? It's trivial on a relational database.
Moreover. If you need new queries into data, it's again trivial. Because you have the current view of your data, and you don't need to recalculate everything from the beginning of time just because your requirements ever so slightly changed.
> If you have to use a separate "audit logging" datastore to augment your relational database then I think you've proven my point.
No, I haven't.
It's funny, however, that you think that businesses don't require a current view of data and need to re-calc everything from scratch.
There are just too many scenarios where not having transactions is dog slow or really really unwieldy.