In some special cases (such as debugging a prod issue) users would like to provision read-only access for different participants in these kind of scenarios (developers, architects and so on).
Additionally, it is desired to to prevent those users from affecting the performance of the production application, or at least limit the performance impact of any interaction these users may have with the database.
We should consider adding a mechanism to limit the resource usage for a set of users. For example:
- Limit the number/rate of operations that can be executed.
- Limit the execution time of operations (kind of like an automatic $maxTimeMS that is enforced for these users).
- Define different execution priorities for different users.
- Allow access only to secondaries for investigation; don't allow queries to be run on the primary.