This paper applies a model for distributed databases and transactions with a distinction between global and local correctness criteria. The global requirements per system are weaker than the local requirements per site. The paper presents an application which suits such a two-level division. The main motivation for our investigation is based on the fact that the commonly used correctness criteria for concurrency control and recovery, serializability and total recoverability, are very strict criteria. The use of more relaxed criteria (allowing more true parallel behaviour and more true partial behaviour) is therefore very appealing — as long as this can be achieved without compromising safety or applicability. The main paradigm in our approach is based on the observation that relatively little knowledge about the databases and transactions can lead to major gains in system throughput. This allows specific systems to have more tailor-made correctness criteria.
Our specialized type of distributed database, the skeleton-database, represents sets of close substitutes for diverse articles. Effectively we investigate an organized coupling of cooperating databases. Each specific database contains a complementing set of article-offers — and the different databases contain substituting sets for these article-offers. Further, the databases may be accessed simultaneously in the sense that article-offers in one database may be “held” while article-offers in another database are checked — and the accesses to all participating databases in a skeleton-database will be collectively controlled. Our approach allows non-serializability and partial recoverability. We arrive at multi-level correctness criteria with respect to both consistency preservation and atomicity assurance.
Our specialized type of distributed transaction, the wander-transaction, traverses a skeleton-database trying to seize an optimal set — complying with any combined conditions on the attribute-values — of specific articles. Actually we discuss a traversing race among competing transactions. A transaction may require diverse articles of several types — and several articles of a single type. And a transaction/buyer may acquire articles directly — i.e. it corresponds to an on-line read- and-write service and not only an off-line read-only service. Further, a buyer may consider more static attributes like quality and price — as well as more dynamic attributes like no-left and who-purchased. Our concept allows transactions to build up priority during their traversing race. Acquiring an article-offer early may increase the priority of the corresponding buyer — while checking an article-offer later may decrease the priority of the corresponding buyer.
Wander-transactions accessing a skeleton-database allow breaks with both the common serializability criterion and the common total recoverability criterion. Our main emphasis here is on the non-serializability aspect. The primary goal of this work is to designate correctness criteria for controlling local and global parallelism. The secondary goal of this work is to specify priority rules for handling local and global criteria breaks. Wander-transactions accessing a skeleton-database experience dynamic priorities. Our resulting concept, priority serializability, gives increased parallelism without reduced safety.