A View-Based Approach to Relaxing Global Serializability in Multidatabase Systems

Total Page:16

File Type:pdf, Size:1020Kb

A View-Based Approach to Relaxing Global Serializability in Multidatabase Systems Purdue University Purdue e-Pubs Department of Computer Science Technical Reports Department of Computer Science 1993 A View-Based Approach to Relaxing Global Serializability in Multidatabase Systems Aidong Zhang Evaggelia Pitoura Bharat K. Bhargava Purdue University, [email protected] Report Number: 93-082 Zhang, Aidong; Pitoura, Evaggelia; and Bhargava, Bharat K., "A View-Based Approach to Relaxing Global Serializability in Multidatabase Systems" (1993). Department of Computer Science Technical Reports. Paper 1095. https://docs.lib.purdue.edu/cstech/1095 This document has been made available through Purdue e-Pubs, a service of the Purdue University Libraries. Please contact [email protected] for additional information. A VIEW-BASED APPROACH TO RELAXING GLOBAL SERIALIZABILITY IN MULTIDATABASE SYSTEMS Aldong Zhang Evaggelia PitOUI'3 Bharat Bh:Jrgava CSD TR-9J.082 December 1993 (Revised March 1994) A View-Based Approach to Relaxing Global Serializability in Multidatabase Systems Aidong Zhang, Evaggelia Pitoura, and Bharat K Bhargava Department of Computer Science Purdue University West Lafayette, IN 47907 USA Abstract In this paper, we propose a new approach to ensuring the correctness of non­ serializable executions. The approach is based on relating transaction views of the database to the integrity constraints of the system. Drawing upon this approach, we de­ velop a new correctness criterion for multidatabase concurrency control. This criterion, caUed view-based two-level serializability, relaxes global serializabitity in multidatabase systems while respecting the autonomy of local database systems. No additional re­ strictions other than serializallility are imposed on local database systems. 1 Introduction A Illultidataba.-<;e system (MDBS) is a higher-level confederation of a nWllber of pre-existing autonomolls and possibly heterogeneous database systems. The purpose of a multidatabase system is to allow uniform access to the information stored in these component systems. In this envirollment, transaction management is performed at two levels: at a local level by the pre-existing transaction managers (LTMs) of the local databases, and at a global level by the global transaction manager (GTM). There are two types of transactions: • local transactions, which acceSs data at one site only and which are submitted to the appropriate LTM, outside the control of the GTMj and • global transactions, which are submitted to the GTM, where they are parsed into a number of global subtransactions, each of which accesses data stored in a single local 1 database. These subtransactions are then submitted for execution to the appropriate LTM. Global subtransactiolls are viewed by an LTM as ordinary local transactions. Local transaction managers are responsible for the correct execution of all transactions executed at their local sites. The global transaction manager thus retains no control over global transactions after their submission to the LTMs and can make no assumptions about their exp.cution. The autonomous uature of the LTMs thus greatly complicates the problem of Lransaction management in a multidaLabasc system. COllcurrcllcy control in l\/IDBSs has received much attention frolll multidatabase re­ searchers. In particular, maillLaluing global serializability in the execution of both local and global transactions has been well studied [2, 8, 3, 4, 10]. The difficulties in this regard center upon the inability of the GTM to control the serialization order of global subtransac­ tions at local sites. As a result, even a serial execution of global transactions at the global level may not ensure that their serialization order at a local site will be consistent with their exp.cution order at the global level. All successful attempts for ensuring global serializabll-ity require the enforcement of conflicting operations among global subtransactions at each local site [4, 5, 11]. The GTM can thus control the serialization order of global subtransaetions by controlling the execution of these conflicting operations. However, enforcing coniliets lllay result in poor performance if most global transactions would not naturally conflict. Relaxing global serializability is thus a significant issue for multidatabase concurrency control. A IlOTl­ serializable criterion, called two-level serializability (21SR), was introduced in [6]. In general, 2LSR executions of local and global transactions do not guarantee database consistency. In this paper, we present an approach to ensuring that 2LSR executions maintain lllul­ tidatabase consistency. This approach draws upon the observation that the view of a global transaction, that is, the data it reads, can play an important role in ensuring that its exe­ cution will maintain database consistency. The underlying concepts of tlle view consistency and view closure of transactions are defined by relating the transaction views to the integrity constrainLs that are defined in the sysLem. The impact of such global transaction views on correctness criteria leads to the formulation of the concept of view-base.d two-level serializ­ ability. This new correctness criterioll, imposes certain restrictions on the view of global transactions that participate in two-level serializable executions. We shall demonstrate that the view-based two-level serializable execution of local and global transactions can maintain 2 lllultidatabase consistency in vanous practical multidatabase models. As this criterion is more general than serializability and the view consistency and view closure of transactiOllS call be efficiently enforc~d by the system, the proposed approach can be applied to the execution of all global and local transactions. This paper is organized as rollows. Section 2 introduces the fundamental concepts under­ lying our formulation or view-based two-level serializability, the details of which are presented in Section 3. Section 4 compares the present work with related research, while cOllcluding remarks are offered in Section 5. 2 Preliminaries In this section, we shall introduce the basic terminology to be used in this paper and explore the background of the problem. 2.1 Basic Terminology A multidatabase is the union of all data items stored at the participating local sites. We denote the set of all data items in a local site LSi by D; for i = 1, ..., m and the set of all data items in the lllultidaLabase by D. Thus, D = Ui~l D j • We assume tllat local databases are disjoilltj that is) Di n Dj = 0, i =j:. j. To distinguish between data items prim to multiclatabase integratioll, the set or data items at a local site LSi is partitioned into local data items, denoted LDi , and global data items, denoted GD., such that LDj n GD. = 0 and Di = LDj U GDi • The set of all global data items is denoted GD, GD = Ui~l GDj • Following the traditional approach, a database state is defined as a mapping of every data item to a value of its domain, and integrity constraints are formulas in predicate calculus that express relationships or data items that a database must satisfy. In an MDBS system, there are three types of integrity constraints: local integrity constmints are defined on local data items at a single local sitej local/global integ7'ity constmints are defined between local and global data itemsj and global 'integ1'ity constmints are defined on global data items. The consistency of database state is then defined as follows: Definition 1 (Database consistency) A local database state is consistent if it preserves 3 all integrity constraints that a1·e. defined at the local site. A multidatabase state is consistent if it prescrves all integrity constraints defined in the MDBS environment. In this paper, a transaction is a sequence of read and write operations resulting from the execution of a transaction program. Such a program is conventionally written in a high-level programming language, with assignments, loops, conditional statements, and other control structures. For the elements of a transactioll, we denote the read and write operations as 1'(X) and w(x) (possibly subscripted). We shall alternatively use r(x, v) (or w(x, v)) to denote an operation which reads (or writes) a value v from (or to) the data item x. Two operations conflict with eac:h other if they access the same data item and at least one of them is a wI'ite operation. The execution of a transaction transfers a database from one consistent state to another. In an MDBS environment, a local transaction is a transaction that accesses the data items at a single local site. A global transaction is a set of global subtransactions, within which each global subtransac.tion is a transaction accessing the data items at a single local site. In this paper, we assume that each global transaction has only one subtransaction at each local site. The execution of a global transaction transfers a l11ultidatabase from one consistent state to another. A schedule over a set of transactions is a partial order of all and only the operations of those transactions which orders all conllicting operations alld which respects the order of operations specified by the transactions. III a MDBS environment, a local schedule SDk is a schedule over both local transactions and global subtransactions which are executed at the local site 1S/:, and a gLobaL schedule S is a schedule over both local and global transactions which are executetl in an MDBS. A global subschedule SO is global schedule S restricted to the set 9 of global transactions in S. The correctness of a schedule is defined as follows: Definition 2 (Schedule correctness) A schedule lS correct if it preserves all integrity constmints that are defined in the database system and each transaction in S reads only a consistent database state. 4 2.2 Relaxing Global Serializability A global schedule 5' is considered La be globally serializable if S is serializable [1] on the execution of both local and global transactions. Clearly, if local and global transactions maintain all integrity constralnts defined in the MDBS environment, then a globally se­ rializable global schedule is coned.
Recommended publications
  • Concurrency Control Basics
    Outline l Introduction/problems, l definitions Introduction/ (transaction, history, conflict, equivalence, Problems serializability, ...), Definitions l locking. Chapter 2: Locking Concurrency Control Basics Klemens Böhm Distributed Data Management: Concurrency Control Basics – 1 Klemens Böhm Distributed Data Management: Concurrency Control Basics – 2 Atomicity, Isolation Synchronisation, Distributed (1) l Transactional guarantees – l Essential feature of databases: in particular, atomicity and isolation. Many users can access the same data concurrently – be it read, be it write. Introduction/ l Atomicity Introduction/ Problems Problems u Example, „bank scenario“: l Consistency must be guaranteed – Definitions Definitions task of synchronization component. Locking Number Person Balance Locking Klemens 5000 l Multi-user mode shall be hidden from users as far as possible: concurrent processing Gunter 200 of requests shall be transparent, u Money transfer – two elementary operations. ‚illusion‘ of being the only user. – debit(Klemens, 500), – credit(Gunter, 500). l Isolation – can be explained with this example, too. l Transactions. Klemens Böhm Distributed Data Management: Concurrency Control Basics – 3 Klemens Böhm Distributed Data Management: Concurrency Control Basics – 4 Synchronisation, Distributed (2) Synchronization in General l Serial execution of application programs Uncontrolled non-serial execution u achieves that illusion leads to other problems, notably inconsistency: l Introduction/ without any synchronization effort, Introduction/
    [Show full text]
  • Serializability, Not Serial: Concurrency Control and Availability in Multi-Datacenter Datastores
    Serializability, not Serial: Concurrency Control and Availability in Multi-Datacenter Datastores Stacy Patterson1 Aaron J. Elmore2 Faisal Nawab2 Divyakant Agrawal2 Amr El Abbadi2 1Department of Electrical Engineering 2Department of Computer Science Technion - Israel Institute of Technology University of California, Santa Barbara Haifa, 32000, Israel Santa Barbara, CA 93106 [email protected] faelmore,nawab,agrawal,[email protected] ABSTRACT create applications within the eventual consistency model We present a framework for concurrency control and avail- [21]. Many cloud providers then introduced support for ability in multi-datacenter datastores. While we consider atomic access to individual data items, in essence, provid- Google's Megastore as our motivating example, we define ing strong consistency guarantees. This consistency level general abstractions for key components, making our solu- has become a standard feature that is offered in most cloud tion extensible to any system that satisfies the abstraction datastore implementations, including BigTable, SimpleDB, properties. We first develop and analyze a transaction man- and Apache HBase [17]. Strong consistency of single data agement and replication protocol based on a straightforward items is sufficient for many applications. However, if several implementation of the Paxos algorithm. Our investigation data items must be updated atomically, the burden to imple- reveals that this protocol acts as a concurrency prevention ment this atomic action in a scalable, fault tolerant manner mechanism rather than a concurrency control mechanism. lies with the software developer. Several recent works have We then propose an enhanced protocol called Paxos with addressed the problem of implementing ACID transactions Combination and Promotion (Paxos-CP) that provides true in cloud datastores [3, 11, 12], and, while full transaction transaction concurrency while requiring the same per in- support remains a scalability challenge, these works demon- stance message complexity as the basic Paxos protocol.
    [Show full text]
  • A Study of the Availability and Serializability in a Distributed Database System
    A STUDY OF THE AVAILABILITY AND SERIALIZABILITY IN A DISTRIBUTED DATABASE SYSTEM David Wai-Lok Cheung B.Sc., Chinese University of Hong Kong, 1971 M.Sc., Simon Fraser University, 1985 A THESIS SUBMI'ITED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHLLOSOPHY , in the School of Computing Science 0 David Wai-Lok Cheung 1988 SIMON FRASER UNIVERSITY January 1988 All rights reserved. This thesis may not be reproduced in whole or in part, by photocopy or other means, without permission of the author. 1 APPROVAL Name: David Wai-Lok Cheung Degree: Doctor of Philosophy Title of Thesis: A Study of the Availability and Serializability in a Distributed Database System Examining Committee: Chairperson: Dr. Binay Bhattacharya Senior Supervisor: Dr. TikoJameda WJ ru p v Dr. Arthur Lee Liestman Dr. Wo-Shun Luk Dr. Jia-Wei Han External Examiner: Toshihide Ibaraki Department of Applied Mathematics and Physics Kyoto University, Japan Bate Approved: January 15, 1988 PARTIAL COPYRIGHT LICENSE I hereby grant to Simon Fraser University the right to lend my thesis, project or extended essay (the title of which is shown below) to users of the Simon Fraser University Library, and to make partial or single copies only for such users or in response to a request from the library of any other university, or other educational institution, on its own behalf or for one of its users. I further agree that permission for multiple copying of this work for scholarly purposes may be granted by me or the Dean of Graduate Studies. It is understood that copying or publication of this work for financial gain shall not be allowed without my written permission, T it l e of Thes i s/Project/Extended Essay Author: (signature) ( name (date) ABSTRACT Replication of data objects enhances the reliability and availability of a distributed database system.
    [Show full text]
  • A Theory of Global Concurrency Control in Multidatabase Systems
    VLDB Journal,2, 331-360 (1993), Michael Carey and Patrick Valduriez, Editors 331 t~)VLDB A Theory of Global Concurrency Control in Multidatabase Systems Aidong Zhang and Ahmed K. Elmagarmid Received December 1, 1992; revised version received February 1, 1992; accepted March 15, 1993. Abstract. This article presents a theoretical basis for global concurrency control to maintain global serializability in multidatabase systems. Three correctness criteria are formulated that utilize the intrinsic characteristics of global transactions to de- termine the serialization order of global subtransactions at each local site. In par- ticular, two new types of serializability, chain-conflicting serializability and shar- ing serializability, are proposed and hybrid serializability, which combines these two basic criteria, is discussed. These criteria offer the advantage of imposing no restrictions on local sites other than local serializability while retaining global se- rializability. The graph testing techniques of the three criteria are provided as guidance for global transaction scheduling. In addition, an optimal property of global transactions for determinating the serialization order of global subtransac- tions at local sites is formulated. This property defines the upper limit on global serializability in multidatabase systems. Key Words. Chain-conflicting serializability, sharing serializability, hybrid serial- izability, optimality. 1. Introduction Centralized databases were predominant during the 1970s, a period which saw the development of diverse database systems based on relational, hierarchical, and network models. The advent of applications involving increased cooperation between systems necessitated the development of methods for integrating these pre-existing database systems. The design of such global database systems must allow unified access to these diverse database systems without subjecting them to conversion or major modifications.
    [Show full text]
  • Models of Transactions Structuring Applications Flat Transaction Flat
    Structuring Applications • Many applications involve long transactions Models of Transactions that make many database accesses • To deal with such complex applications many transaction processing systems Chapter 19 provide mechanisms for imposing some structure on transactions 2 Flat Transaction Flat Transaction • Consists of: begin transaction – Computation on local variables • Abort causes the begin transaction • not seen by DBMS; hence will be ignored in most future discussion execution of a program ¡£ ¤¦©¨ – Access to DBMS using call or ¢¡£ ¥¤§¦©¨ that restores the statement level interface variables updated by the ¡£ ¤¦©¨ • This is transaction schedule; commit ….. applies to these operations ¢¡£ ¤§¦©¨ ….. transaction to the state • No internal structure they had when the if condition then abort • Accesses a single DBMS transaction first accessed commit commit • Adequate for simple applications them. 3 4 Some Limitations of Flat Transactions • Only total rollback (abort) is possible – Partial rollback not possible Providing Structure Within a • All work lost in case of crash Single Transaction • Limited to accessing a single DBMS • Entire transaction takes place at a single point in time 5 6 1 Savepoints begin transaction S1; Savepoints Call to DBMS sp1 := create_savepoint(); S2; sp2 := create_savepoint(); • Problem: Transaction detects condition that S3; requires rollback of recent database changes if (condition) {rollback (sp1); S5}; S4; that it has made commit • Solution 1: Transaction reverses changes • Rollback to spi causes
    [Show full text]
  • CS848 - Cloud Data Management
    Cloud Transactions Failures Partitioning Replication CAP Views CS848 - Cloud Data Management Introduction and Background Ken Salem David R. Cheriton School of Computer Science University of Waterloo Winter 2010 • Adjectives associated with clouds • scalable • highly-available • pay-as-you-go • on demand • Not much point in trying to pin down what is cloud and what is not. Cloud Transactions Failures Partitioning Replication CAP Views What is cloud computing? • It seems that everybody who is offering an internet service or using a cluster wants to label themselves “cloud” • Not much point in trying to pin down what is cloud and what is not. Cloud Transactions Failures Partitioning Replication CAP Views What is cloud computing? • It seems that everybody who is offering an internet service or using a cluster wants to label themselves “cloud” • Adjectives associated with clouds • scalable • highly-available • pay-as-you-go • on demand Cloud Transactions Failures Partitioning Replication CAP Views What is cloud computing? • It seems that everybody who is offering an internet service or using a cluster wants to label themselves “cloud” • Adjectives associated with clouds • scalable • highly-available • pay-as-you-go • on demand • Not much point in trying to pin down what is cloud and what is not. Cloud Transactions Failures Partitioning Replication CAP Views Services Spectrum less flexible more flexible more constrained less constrained less effort more effort Cloud Transactions Failures Partitioning Replication CAP Views Services Spectrum less
    [Show full text]
  • Life Beyond Distributed Transactions: an Apostate's Opinion
    Life beyond Distributed Transactions: an Apostate’s Opinion Position Paper Pat Helland Amazon.Com 705 Fifth Ave South Seattle, WA 98104 USA [email protected] The positions expressed in this paper are Instead, applications are built using different personal opinions and do not in any way reflect techniques which do not provide the same the positions of my employer Amazon.com. transactional guarantees but still meet the needs of their businesses. ABSTRACT This paper explores and names some of the practical approaches used in the implementations Many decades of work have been invested in the of large-scale mission-critical applications in a area of distributed transactions including world which rejects distributed transactions. We protocols such as 2PC, Paxos, and various discuss the management of fine-grained pieces of approaches to quorum. These protocols provide application data which may be repartitioned over the application programmer a façade of global time as the application grows. We also discuss serializability. Personally, I have invested a non- the design patterns used in sending messages trivial portion of my career as a strong advocate between these repartitionable pieces of data. for the implementation and use of platforms The reason for starting this discussion is to raise providing guarantees of global serializability. awareness of new patterns for two reasons. First, My experience over the last decade has led me to it is my belief that this awareness can ease the 1 liken these platforms to the Maginot Line . In challenges of people hand-crafting very large general, application developers simply do not scalable applications. Second, by observing the implement large scalable applications assuming patterns, hopefully the industry can work distributed transactions.
    [Show full text]
  • A Theory of Global Concurrency Control in Multidatabase Systems
    Purdue University Purdue e-Pubs Department of Computer Science Technical Reports Department of Computer Science 1992 A Theory of Global Concurrency Control in Multidatabase Systems Aidong Zhang Ahmed K. Elmagarmid Purdue University, [email protected] Report Number: 92-098 Zhang, Aidong and Elmagarmid, Ahmed K., "A Theory of Global Concurrency Control in Multidatabase Systems" (1992). Department of Computer Science Technical Reports. Paper 1017. https://docs.lib.purdue.edu/cstech/1017 This document has been made available through Purdue e-Pubs, a service of the Purdue University Libraries. Please contact [email protected] for additional information. A THEORY OF GLOBAL CONCURRENCY CONTROL IN MULTIDATABASE SYSTEMS Aidong Zhang Ahmed K. Elmagarmid CSD·TR-92-098 December 1992 A Theory of Global Concurrency Control in Multidatabase Systems • Aidong Zhang and Ahmed K. Elmagarmid Department of Computer Science Purdue University West Lafayette, IN 47907 USA {azhang,ake}@cs.purdue.edu Abstract This paper presents a theoretical basis for global concurrency control to maintain global serializability in multidatabase systems. Three correctness criteria are formulated to utilize the intrinsic characteristics of global transactions at the global level to determine the serialization order of global subtransactions at each local site. In particular, two new types of serializabiIity, chain-conflicting serializability and sharing serializability, are proposed, and an optimal criterion (termed hybrid serializability) combining these two basic criteria is discussed. These criteria offer the advantage of imposing no restrictions on local sites other than local serializability while retaining global serializability. The graph testing techniques of the three criteria are provided as guidance for global transaction scheduling. In addition, the optimal aspect of hybrid serializability defines the upper limit on global serializability in multidatabase systems.
    [Show full text]
  • Transaction Properties(ACID Properties)
    UNIT-5 Transaction properties(ACID properties) In computer science, ACID (Atomicity, Consistency, Isolation, Durability) is a set of properties that guarantee that database transactions are processed reliably. In the context ofdatabases, a single logical operation on the data is called a transaction. For example, a transfer of funds from one bank account to another, even involving multiple changes such as debiting one account and crediting another, is a single transaction. Jim Gray defined these properties of a reliable transaction system in the late 1970s and developed technologies to achieve them automatically. In 1983, Andreas Reuter and Theo Härder coined the acronym ACID to describe them. The characteristics of these four properties as defined by Reuter and Härder: Atomicity Atomicity requires that each transaction be "all or nothing": if one part of the transaction fails, the entire transaction fails, and the database state is left unchanged. An atomic system must guarantee atomicity in each and every situation, including power failures, errors, and crashes. To the outside world, a committed transaction appears (by its effects on the database) to be indivisible ("atomic"), and an aborted transaction does not happen. Consistency The consistency property ensures that any transaction will bring the database from one valid state to another. Any data written to the database must be valid according to all defined rules, including constraints, cascades, triggers, and any combination thereof. This does not guarantee correctness of the transaction in all ways the application programmer might have wanted (that is the responsibility of application-level code) but merely that any programming errors cannot result in the violation of any defined rules.
    [Show full text]
  • 4. Distributed Concurrency Control 4
    SS 2013 4. Distributed Concurrency Control 4. 4. Distributed Concurrency Control General reference architecture. Federated system Dr.-Ing. Thomas Hornung SS 2013 Seite 1 SS 2013 4. Distributed Concurrency Control 4.1. Preliminaries 4.1: Preliminaries Sites and subtransactions I Let be given a fixed number of sites across which the data is distributed. The server at site i, 1 ≤ i ≤ n is responsible for a (finite) set Di of data items. The n corresponding global database is given as D = [i=1Di . I Data items are not replicated; thus Di \ Dj = ;, i 6= j. I Let T = fT1;:::; Tmg be a set of transactions, where Ti = (OPi ; <i ), 1 ≤ i ≤ m. I Transaction Ti is called global, if its actions are running at more than one server; otherwise it is called local. I The part of a transaction Ti being executed at a certain site j is called subtransaction and is denoted by Tij . Dr.-Ing. Thomas Hornung SS 2013 Seite 2 SS 2013 4. Distributed Concurrency Control 4.1. Preliminaries Local and global schedules We are interested in deciding whether or not the execution of a set of transactions is serializable, or not. I At the local sites we can observe an evolving sequence of the respective transactions' actions. I We would like to decide whether or not all these locally observable sequences imply a (globally) serializable schedule. I However, on the global level we cannot observe an evolving sequence, as there does not exist a notion of global physical time. Dr.-Ing. Thomas Hornung SS 2013 Seite 3 SS 2013 4.
    [Show full text]
  • Chapter 24: Advanced Transaction Processing
    ChapterChapter 24:24: AdvancedAdvanced TransactionTransaction ProcessingProcessing ! Transaction-Processing Monitors ! Transactional Workflows ! High-Performance Transaction Systems ! Main memory databases ! Real-Time Transaction Systems ! Long-Duration Transactions ! Transaction management in multidatabase systems 1 Database System Concepts 24.1 ©Silberschatz, Korth and Sudarshan TransactionTransaction ProcessingProcessing MonitorsMonitors ! TP monitors initially developed as multithreaded servers to support large numbers of terminals from a single process. ! Provide infrastructure for building and administering complex transaction processing systems with a large number of clients and multiple servers. ! Provide services such as: ! Presentation facilities to simplify creating user interfaces ! Persistent queuing of client requests and server responses ! Routing of client messages to servers ! Coordination of two-phase commit when transactions access multiple servers. ! Some commercial TP monitors: CICS from IBM, Pathway from Tandem, Top End from NCR, and Encina from Transarc 2 Database System Concepts 24.2 ©Silberschatz, Korth and Sudarshan TPTP MonitorMonitor ArchitecturesArchitectures 3 Database System Concepts 24.3 ©Silberschatz, Korth and Sudarshan TPTP MonitorMonitor ArchitecturesArchitectures (Cont.)(Cont.) ! Process per client model - instead of individual login session per terminal, server process communicates with the terminal, handles authentication, and executes actions. ! Memory requirements are high ! Multitasking- high
    [Show full text]
  • Concurrency Control and Availability in Multi-Datacenter Datastores
    Serializability, not Serial: Concurrency Control and Availability in Multi­Datacenter Datastores Stacy Patterson1 Aaron J. Elmore2 Faisal Nawab2 Divyakant Agrawal2 Amr El Abbadi2 1Department of Electrical Engineering 2Department of Computer Science Technion ­ Israel Institute of Technology University of California, Santa Barbara Haifa, 32000, Israel Santa Barbara, CA 93106 [email protected] {aelmore,nawab,agrawal,amr}@cs.ucsb.edu ABSTRACT ate applications within the eventual consistency model [20]. We present a framework for concurrency control and avail- Many cloud providers then introduced support for atomic ability in multi-datacenter datastores. While we consider access to individual data items, in essence, providing strong Google’s Megastore as our motivating example, we define consistency guarantees. This consistency level has become a general abstractions for key components, making our solu- standard feature that is offered in most cloud datastore im- tion extensible to any system that satisfies the abstraction plementations, including BigTable, SimpleDB, and Apache properties. We first develop and analyze a transaction man- HBase [16]. Strong consistency of single data items is suffi- agement and replication protocol based on a straightforward cient for many applications. However, if several data items implementation of the Paxos algorithm. Our investigation must be updated atomically, the burden to implement this reveals that this protocol acts as a concurrency prevention atomic action in a scalable, fault tolerant manner lies with mechanism rather than a concurrency control mechanism. the software developer. Several recent works have addressed We then propose an enhanced protocol called Paxos with the problem of implementing ACID transactions in cloud Combination and Promotion (Paxos-CP) that provides true datastores [2, 10, 11], and, while full transaction support re- transaction concurrency while requiring the same per in- mains a scalability challenge, these works demonstrate that stance message complexity as the basic Paxos protocol.
    [Show full text]