Abstract: A method to construct a global equivalent database log file that transforms local log files from a parallel or distributed database system by extracting from each log file sequences of log entries from each database record, breaking the sequences into a series of segments, discarding the bulk of the segments and shortening other segments, then merging the remaining segments into an equivalent log file. The sequences are called "UID-sequences" and the segments "UID-segments" because they relate to one unique record ID or UID. The method also employs backward and forward superposition to further shorten the segments. This method works on database systems with or without instant constraint checks and also provides for treating log entries from multiple adjacent transactions on a log file as a single transaction. In systems with instant constraint checks, this method performs a "unique-key check" and a "foreign-key check" and resolves conflicts that are created because of superposition.
Abstract: A method to construct a transaction serialization order based on parallel or distributed database log files that connects the log files into a network and merges the network into a sequence. Only vote symbols and commit symbols are considered in the construction and a protocol of a transaction's vote appearing before a transaction's commit is enforced. The log files are connected by making links between commit symbols of the same transactions in different log files. The method identifies ambiguities in the orders of the individual log files, called commit symbol cycles, and resolves them by breaking an unsupported segment of the cycle and sliding the segment's forwardmost commit symbol backward to a position immediately prior to the first commit symbol on that segment. By doing so, the serialization implication of an individual log file may be changed, but the overall serialization implication of the database remains intact. Using an iterative process, this method can order the log files in one pass-through.