Fault Tolerant Data Management for Cloud Services

Fault Tolerant Data Management for Cloud Services

Copyright: © 2018 |Pages: 10
DOI: 10.4018/978-1-5225-2255-3.ch094
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Chapter Preview

Top

Background

A database management system consists of a set of data and a number of processes that manage the data. These processes are often collectively referred to as database servers. The core programming model used in database management systems is called transaction processing. In this programming model, a group of read and write operations on the some data set are demarcated within a transaction. A transaction has the following ACID properties (Gray & Reuter, 1993):

  • Atomicity: All operations on the data set agree on the same outcome. Either all the operations succeed (the transaction commits), or none of them are (the transaction aborts).

  • Consistency: If the database is consistent at the beginning of a transaction, then the database remains consistent after the transaction commits.

  • Isolation: A transaction does not read or overwrite a data item that has been accessed by another concurrent transaction.

  • Durability: The update to the data set becomes permanent once the transaction is committed.

An example of an atomic transaction is shown in Figure 1. This transaction involves a debit operation on a savings account and a credit operation on a checking account. If both operations are successful and the user decides to commit the transaction, the changes to both accounts are made permanent, as shown in Figure 1(a). On the other hand, if the user decides to abort the transaction, the changes to both accounts will be reversed so that the account balances of both accounts are restored to the values at the beginning of the transaction, as illustrated in Figure 1(b).

Figure 1.

An example of atomic transactions

978-1-5225-2255-3.ch094.f01

Key Terms in this Chapter

Transaction: A transaction is a group of read/write operations on the some data set that succeed or fail atomically. More accurately, a transaction has the atomicity, consistency, isolation and durability properties.

Database Cluster (Shared-Everything, Shared-Nothing): A database management system runs on a group of computers interconnected by a high speed network. In the cluster, multiple database server instances are deployed. If one instance fails, another instance takes over very quickly to ensure high availability. In the shared-everything design, all nodes can access a shared stable storage device. In the shared-nothing design, each node has its own cache buffer and stable storage.

Database Recovery (Roll-Backward, Roll-Forward): Recovery is needed when a database instance that has failed is restarted or a surviving database instance takes over a failed one. In roll-backward recovery, the active transactions at the time of failure are aborted and the resourced allocated for those transactions are released. In roll-forward recovery, the updates recorded in the redo log are transferred to the database so that they are not lost.

Database Replication (Eager, Lazy): Multiple instances of a database management system are deployed in different computers (often located in different sites). Their state is synchronized closely to ensure replica consistency. In eager replication, the updates are propagated and applied to all replicas within the transaction boundary. In lazy replication, the changes are propagated from one replica to others asynchronously.

NoSQL Database: This is a database that adopts a data storage and retrieval mechanism that is different from that used in traditional relational databases. The actual mechanisms differ in different NoSQL databases, such as key-value stores, document store, and graph, etc.

Complete Chapter List

Search this Book:
Reset