Isolation guarantees are lost in the database environment, which allows you to perform dirty operations like Mnesia does. Thus, the answer to question 1) yes, the correct transaction process is potentially compromised by a joint dirty operation, and vice versa - a dirty read, for example, can return "old" or even freshly used data, while the danger inherent in dirty records is obvious.
In your second scenario, the answer is yes for two reasons: only the data object that you are using is locked and only your local copy! This, as a rule, is a wonderful and useful thing, and allows simultaneous parallel transactions on other data objects (including other tables).
Documents Erlang Mnesia, Chapter 4
source share