Concurrency control algorithms have traditionally been based on locking and timestamp ordering mechanisms. Recently, optimistic schemes have been proposed. Here a distributed, multiversion, optimistic concurrency control scheme is described which is particularly advantageous in a query-dominant environment. The drawbacks of the original optimistic concurrency control scheme, namely, that inconsistent views may be seen by transactions (potentially causing unpredictable behavior) and that read-only transactions must be validated, have been eliminated in the proposed algorithm. Read-only transactions execute in a completely asynchronous fashion and are therefore processed with very little overhead. As opposed to timestamp algorithms, read-only transactions cannot cause aborts of read-write transactions. The effects of global transactions on local transaction processing are minimized. The algorithm is also free from deadlock and cascading rollback problems.