Transaction processing is a well-established technology. Although commonly associated with large-scale systems in telecommunications, transportation, and manufacturing enterprises, transaction-processing systems are becoming a foundation of electronic commerce, where the number of transactions per minute can significantly affect the cost of doing business. Commercial transaction-processing systems, or TP systems, deliver either local transactions (sometimes called database transactions) or distributed transactions.
Most database management system (DBMS) products provide transaction-processing features, although they seldom provide the full capabilities of a dedicated TP system. A transaction served up by a DBMS typically spans only those databases located on that server, giving the transaction a local quality. The advantage of a local transaction is the speed of access to and control of data. Unfortunately, local transaction facilities do not scale well since the transaction is restricted to a single server.
Message queuing systems have similar constraints with regard to local or internal transactions. Although internal transactions to and from a queue are extremely efficient, the local aspect of the system prevents a queued transaction from flowing to a database or other data store.
While some DBMS products do support distributed transactions, the support often extends only to a single database vendor. Distributed TP systems, on the other hand, are designed to facilitate transactions that span heterogeneous, transaction-aware resources in a distributed environment. Thus, supported by a distributed TP system, your application can combine in a transactional unit such diverse activities as retrieving a message from a Microsoft Message Queue Server (MSMQ) queue, storing the message in an SQL Server database, and removing all existing references to the message from an Oracle Server database.
The following topics explain transaction-processing concepts in greater detail.
Topic | Description |
---|---|
ACID Properties | Lists and describes the properties considered essential to all transactions: atomicity, consistency, isolation, and durability. |
Transaction Boundaries | Defines the scope of a transaction in terms of manual and automatic transaction boundaries. |
Distributed Transactions | Identifies the key elements that allow a distributed transaction processing system to maintain ACID properties. |