How about the use of Cascading Temporal Surrogate Keys?
Keys are generated at intervals through the day. Researchers only have access to Views that use these Keys rather than the underlying ones. Time-limit queries so that any kind of useful Cartesian Join will time-out. By the time the researcher asks for further data it will not be possible to join it to data previously collected.