Online transaction processing, or OLTP, is a class of information systems that facilitate
and manage transaction-oriented applications, typically for data entry and retrieval transaction
processing.
The term is somewhat ambiguous; some understand a "transaction" in the context of computer
or database transactions, while others define it in terms of business or commercial transactions.
OLTP has also been used to refer to processing in which the system responds immediately to
user requests.
An automated teller machine for a bank is an example of a commercial transaction processing
application.
Online transaction processing applications are high throughput and insert or update-intensive
in database management.
These applications are used concurrently by hundreds of users.
The key goals of OLTP applications are availability, speed, concurrency and recoverability.
Reduced paper trails and the faster, more accurate forecast for revenues and expenses
are both examples of how OLTP makes things simpler for businesses.
However, like many modern online information technology solutions, some systems require
offline maintenance, which further affects the cost-benefit analysis of online transaction
processing system.
What Is an OLTP System?
OLTP system is a popular data processing system in today's enterprises.
Some examples of OLTP systems include order entry, retail sales, and financial transaction
systems.
Online transaction processing system increasingly requires support for transactions that span
a network and may include more than one company.
For this reason, modern online transaction processing software use client or server processing
and brokering software that allows transactions to run on different computer platforms in
a network.
In large applications, efficient OLTP may depend on sophisticated transaction management
software and/or database optimization tactics to facilitate the processing of large numbers
of concurrent updates to an OLTP-oriented database.
For even more demanding decentralized database systems, OLTP brokering programs can distribute
transaction processing among multiple computers on a network.
OLTP is often integrated into service-oriented architecture and Web services.
Online Transaction Processing involves gathering input information, processing the information
and updating existing information to reflect the gathered and processed information.
As of today, most organizations use a database management system to support OLTP.
OLTP is carried in a client server system.
Online Transaction Process concerns about concurrency and atomicity.
Concurrency controls guarantee that two users accessing the same data in the database system
will not be able to change that data or the user has to wait until the other user has
finished processing, before changing that piece of data.
Atomicity controls guarantee that all the steps in transaction are completed successfully
as a group.
That is, if any steps between the transaction fail, all other steps must fail also.
Online Transaction Processing Systems Design To build an OLTP system, designer must know
that the large number of concurrent users does not interfere with the system's performance.
To increase the performance of OLTP system, designer must avoid the excessive use of indexes
and clusters.
The following elements are crucial for the performance of OLTP systems:
Rollback segments Rollback segments are the portions of database
that record the actions of transactions in the event that a transaction is rolled back.
Rollback segments provide read consistency, roll back transactions, and recover the database.
Clusters A cluster is a schema that contains one or
more tables that have one or more columns in common.
Clustering tables in database improves the performance of join operation.
Discrete transactions All changes to the data are deferred until
the transaction commits during a discrete transaction.
It can improve the performance of short, non-distributed transaction.
Block size The data block size should be a multiple of
the operating system's block size within the maximum limit to avoid unnecessary I/O.
Buffer cache size To avoid unnecessary resource consumption,
tune SQL statements to use the database buffer cache.
Dynamic allocation of space to tables and rollback segments
Transaction processing monitors and the multi-threaded server
A transaction processing monitor is used for coordination of services.
It is like an operating system and does the coordination at a high level of granularity
and can span multiple computing devices.
Partition Partition increases performance for sites
that have regular transactions while still maintain availability and security.
database tuning With database tuning, OLTP system can maximize
its performance as efficiently and rapidly as possible.
Contrasted to Batch processing
Grid computing See also
Online analytical processing Transaction processing
Database transaction References
^ Transaction Processing Performance Council website
^ Application and System Performance Characteristics ^ What is an OLTP System[1]
^ Online Transaction Processing vs. Decision Support
^ Application and System Performance Characteristics ^ Rollback
^ cluster table ^ Discrete Transactions
^ Data Block ^ Database buffer Cache
^ Transaction processing monitor ^ Parition
External links H-Store Project
IBM CICS official website Transaction Processing Performance Council
OLTP Schema Transaction Processing: Concepts & Techniques
Management