FACTOID # 110: Around 80% of all livejournal users are from the United States of America.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

FACTS & STATISTICS    Simple view

  1. Select countries to view: (hold down Control key and click to select several)

     

     

    Compare:

     

     

  1. Select fact or statistic: (* = graphable)

     

     

     

  2. (OPTIONAL) Compare to statistic: (both need to be graphable)

     

     

     

  3. View result as:

     

       
(OR) SEARCH ALL encyclopedia, stats & forums:   

Encyclopedia > Transaction processing

In computer science, transaction processing is information processing that is divided into individual, indivisible operations, called transactions. Each transaction must succeed or fail as a complete unit; it cannot remain in an intermediate state. Computer science, or computing science, is the study of the theoretical foundations of information and computation and their implementation and application in computer systems. ...

Contents

Description

Transaction processing is designed to maintain a database in a known, consistent state, by ensuring that any operations carried out on the database that are interdependent are either all completed successfully or all cancelled successfully. The term database originated within the computer industry. ...


For example, consider a typical banking transaction that involves moving $500 from a customer's savings account to a customer's checking account. This transaction is a single operation in the eyes of the bank, but it involves at least two separate operations in computer terms: debiting the savings account by $500, and crediting the checking account by $500. If the debit operation succeeds but the credit does not (or vice versa), the books of the bank will not balance at the end of the day. There must therefore be a way to ensure that either both operations succeed or both fail, so that there is never any inconsistency in the bank's database as a whole. Transaction processing is designed to provide this.


Transaction processing allows multiple individual operations on a database to be linked together automatically as a single, indivisible transaction. The transaction-processing system ensures that either all operations in a transaction are completed without error, or none of them are. If some of the operations are completed but errors occur when the others are attempted, the transaction-processing system “rolls back” all of the operations of the transaction (including the successful ones), thereby erasing all traces of the transaction and restoring the database to the consistent, known state that it was in before processing of the transaction began. If all operations of a transaction are completed successfully, the transaction is “committed” by the system, and all changes to the database are made permanent; the transaction cannot be rolled back once this is done.


Transaction processing guards against hardware and software errors that might leave a transaction partially completed, with a database left in an unknown, inconsistent state. If the computer system crashes in the middle of a transaction, the transaction processing system guarantees that all operations in any uncommitted (i.e., not completely processed) transactions are cancelled.


Transactions are processed in a strict chronological order. If transaction n+1 touches the same portion of the database as transaction n, transaction n+1 does not begin until transaction n is committed. Before any transaction is committed, all other transactions affecting the same part of the database must also be committed; there can be no “holes” in the sequence of preceding transactions.


Methodology

The basic principles of all transaction-processing systems are the same. However, the terminology may vary from one transaction-processing system to another, and the terms used below are not necessarily universal.


Rollback

Transaction-processing systems ensure database integrity by recording intermediate states of the database as it is modified, then using these records to restore the database to a known state if a transaction cannot be committed. For example, copies of information on the database prior to its modification by a transaction are set aside by the system before the transaction can make any modifications (this is sometimes called a before image). If any part of the transaction fails before it is committed, these copies are used to restore the database to the state it was in before the transaction began (rollback).


Rollforward

It is also possible to keep a separate journal of all modifications to a database (sometimes called after images); this is not required for rollback of failed transactions, but it is useful for updating the database in the event of a database failure, so some transaction-processing systems provide it. If the database fails entirely, it must be restored from the most recent back-up. The back-up will not reflect transactions committed since the back-up was made. However, once the database is restored, the journal of after images can be applied to the database (rollforward) to bring the database up to date. Any transactions in progress at the time of the failure can then be rolled back. The result is a database in a consistent, known state that includes the results of all transactions committed up to the moment of failure.


Deadlocks

In some cases, two transactions may, in the course of their processing, attempt to access the same portion of a database at the same time, in a way that prevents them from proceeding. For example, transaction A may access portion X of the database, and transaction B may access portion Y of the database. If, at that point, transaction A then tries to access portion Y of the database while transaction B tries to access portion X, a deadlock occurs, and neither transaction can move forward. Transaction-processing systems are designed to detect these deadlocks when they occur. Typically both transactions will be cancelled and rolled back, and then they will be started again in a different order, automatically, so that the deadlock doesn't occur again.


ACID criteria

Main article: ACID

There are many minor variations on the exact methods used to protect database consistency in a transaction-processing system, but the basic principles remain the same. All transaction-processing systems support these functions, which are referred to as the ACID properties: atomicity, consistency, isolation, and durability. For other uses, see Acid (disambiguation). ... For other uses, see Acid (disambiguation). ...


Implementations

Standard transaction-processing software, notably IBM's Information Management System, was first developed in the 1960s, and was often closely coupled to particular database management systems. Client-server computing implemented similar principles in the 1980s with mixed success. However, in more recent years, the distributed client-server model has become considerably more difficult to maintain. As the number of transactions grew in response to various online services (especially the Web), a single distributed database was not a practical solution. In addition, most online systems consist of a whole suite of programs operating together, as opposed to a strict client-server model where the single server could handle the transaction processing. Today a number of transaction processing systems are available that work at the inter-program level and which scale to large systems, including mainframes. Computer software (or simply software) refers to one or more computer programs and data held in the storage of a computer for some purpose. ... now. ... Information Management System (IMS) is a joint hierarchical database and information management system. ... The 1960s decade refers to the years from January 1, 1960 to December 31, 1969, inclusive. ... To meet Wikipedias quality standards, this article or section may require cleanup. ... The examples and perspective in this article or section may not represent a worldwide view. ... Graphic representation of the world wide web around Wikipedia The World Wide Web (WWW, or simply Web) is an information space in which the items of interest, referred to as resources, are identified by global identifiers called Uniform Resource Identifiers (URI). ... Mainframes (often colloquially referred to as big iron) are large and expensive computers used mainly by government institutions and large companies for legacy applications, typically bulk data processing (such as censuses, industry/consumer statistics, ERP, and bank transaction processing). ...


An important open industry standard is the X/Open Distributed Transaction Processing (DTP) (see JTA). However, proprietary transaction-processing environments such as IBM's CICS are still very popular. This article or section is in need of attention from an expert on the subject. ... CICS® (Customer Information Control System) is a transaction server that runs primarily on IBM mainframe systems under z/OS or z/VSE. CICS is available for other operating systems, notably i5/OS, OS/2, and as the closely related IBM TXSeries software on AIX, Windows, and Linux, among others. ...


See also

For other uses, see Acid (disambiguation). ... ACMS was a transaction processing system sold by Digital Equipment Corporation of Maynard, Massachusetts for their computer systems running OpenVMS. Categories: | | ... An audit trail is a record of transactions or communications all related to a single person, account or other entity. ... CICS® (Customer Information Control System) is a transaction server that runs primarily on IBM mainframe systems under z/OS or z/VSE. CICS is available for other operating systems, notably i5/OS, OS/2, and as the closely related IBM TXSeries software on AIX, Windows, and Linux, among others. ... A database transaction is a unit of interaction with a database management system or similar system that is treated in a coherent and reliable way independent of other transactions that must be either entirely completed or aborted. ... Information Management System (IMS) is a joint hierarchical database and information management system. ... Java 2 Platform, Enterprise Edition or Java EE (formerly also J2EE) is a programming platform — part of the Java platform — for developing and running distributed multi-tier architecture applications, based largely on modular components running on an application server. ... WebSphere refers to a brand of proprietary IBM software products, although the term also popularly refers to one specific product: WebSphere Application Server (WAS). ... This article or section is in need of attention from an expert on the subject. ... It has been suggested that this article or section be merged into Two-phase-commit protocol. ... // Overview TPF is an IBM real-time operating system for mainframes descended from the IBM System/360 family, including zSeries and System z9. ...

Books

  • Jim Gray, Andreas Reuter, Transaction Processing - Concepts and Techniques, 1993, Morgan Kaufmann, ISBN 1558601902
  • Philip A. Bernstein, Eric Newcomer, Principles of Transaction Processing, 1997, Morgan Kaufmann, ISBN 1-55860-415-4
  • Ahmed K. Elmagarmid (Editor), Transaction Models for Advanced Database Applications, Morgan-Kaufmann, 1992, ISBN 1558602143

  Results from FactBites:
 
Transaction Processing (2279 words)
We use read_1 [x,v] to refer to a read operation executed by transaction 1, where the read value is v;  write_1[x,v] refers to a write operation executed by transaction 1 with value v.
One of the main objectives of a transaction processing system is controlling and coordinating the execution of a set of concurrent transactions accessing shared data and resources.
Note that transactions that were active when the failure occurs are considered aborted since their internal state is lost due to the failure.
Object Oriented Transaction Processing in the KeyKOS Microkernel (4920 words)
This action causes all transactions to wait until the checkpoint completes, and is undesirable because it introduces a noticeable delay in transaction processing.
Systems that use Transaction ID's must carry that ID in messages to entities that are involved in the transaction, such as databases and the transaction processing monitor.
Often the Transaction ID is passed implicitly using an operating system level mechanism that is specific to transaction processing.
  More results at FactBites »


 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.