WL#1193: Consistent Read a la InnoDB and Oracle
Affects: Server-7.1 — Status: Un-Assigned — Priority: Medium
To make it easier for MySQL developers to get used to working with MySQL Cluster it is desirable to have a consistency model which is similar to something already existing in MySQL. Since the consistency model used by InnoDB also is the model used by Oracle. The idea is that when using Isolation Level = READ COMMITTED that all select statements return data which as defined at the start of the transaction. In NDB this means that one adds a linked list of old tuples to the current which all are marked with a timestamp. The challenges with this scheme in NDB is at least two 1) The timestamp has to be some sort of Lamport clock which hardly fits in less than 8 bytes. Also needs to consider user requirements to fully understand requirements on the Lamport clock. 2) Even in Oracle the faultcode ORA-1551 is well known and for NDB it becomes even worse since we keep the old versions still in memory. ORA-1551 means essentially out-of-memory. One possibility is that in some cases one only provides this functionality per query and not per transaction. Long-running transactions and this feature is not the best of friends. One needs to consider if all tables should support or if some sort of choice should exist.
Copyright (c) 2000, 2017, Oracle Corporation and/or its affiliates. All rights reserved.