OLTP or online transaction processing is the managing and facilitation of transaction-oriented applications using information systems. Two different meanings might imply to the term “transaction”: it refers to atomic change of state in the realm database transactions/computers, however it can also refer to exchange of economic entities in the business or finance realm. First type transactions can be used to record second type transactions in the OLTP.
OLTP usually describe processes in which systems immediately responds to requests made by the user. A common example of a commercial transaction processing application is a bank’s ATM (Automated Teller Machine). In terms of database management, online transaction processing applications are update- or insert-intensive. Recoverability, speed, concurrency and availability are the primary objectives of OLTP applications. Accurate, and faster expense and revenue forecasts, along with reduced paper trails are different ways by which thing are made simpler for businesses by OLTP. However, offline maintenance is required for these online IT solutions, leading to an increase in the cost of these online transaction processing solutions.
OLAP (online analytical processing) is sometimes contrasted with OLTP. OLAP is characterized by complex, small volume queries, made for business reporting or intelligence rather than transaction processing. OLAP supports read only queries and is not optimized for other kind of queries, whereas OLTP can support all kind of different queries (insert, read, delete and update). OLTP operation procedure is different from grid computing and batch processing.
Also, sometimes OLEP (online event processing) is contrasted with OLTP. Distributed event logs which provide consistency in heterogeneous systems, characterize OLEP. OLEP provides high scalability and flexible pattern distribution, with no guarantee on upper-bound to the processing time and higher latency, whereas OLTP provides short atomic transactions.
Accessible data processing systems are referred to as OLTP. Financial transaction systems, order entry and retail sale are a few OLTP system examples. OLTP systems require transaction support, involving multiple companies and spanning over a network. OLTP systems use brokering software or server and client processing which allows transactions to occur on various operating systems on a network.
Database optimization strategies and/or transactional management software (CICS) are necessary for operating an efficient OTLP inside large applications. Multiple concurrent updates are facilitated on an OLTP-oriented database. Web services and service oriented architecture often integrate OLTP. This is done to provide decentralized database systems by distributing the OLTP brokering software among various operating systems on a network. Input is gathered, processed and updated by an OLTP to reflect the information collected and processed. Database management system is used by various organizations to support OLTP. OLTP uses client-server system.
Atomicity and concurrency are the concerns of online transaction. Concurrency ensures that database system users, while accessing the same data simultaneously do not alter the data or the first user has to wait for the second user to finish processing, before altering the data. Atomicity ensures successful completion of all the steps in a transaction as a group. All steps fail if even a single step between transactions fails.
OLTP systems design:
OLTP system must be designed so that large numbers of users do not hinder the system’s performance. Excessive use of clusters and indexes must be avoided for better performance of OTLP system.
The following elements/features are important for an OTLP system performance:
Database tuning maximizes performance of an OLTP system very rapidly and effectively.
Rollback segments are database portions responsible for keeping track of actions in case a transaction rolls back.
Performance of sites involving transaction is increased through partition. A site’s security and availability is maintained during partition.
A cluster contains single or multiple tables which have single or multiple columns in common. Performance of join operations in a database is improved with clustering tables.
The multi-headed server and Transaction processing:
Services are coordinated through transaction processing monitor. It can span across large number of computing devices and performs coordination at higher granularity, much like an operating system.
Buffer cache size:
Unnecessary resource consumption is avoided by using database buffer cache tuned with SQL statements.
To prevent unnecessary I/O, data block sizes which are multiple of “operating system block size” must be used.
Discrete transactions enhance performance of non-distributed, small transactions by deferring alterations in a data until a successful transaction has been completed.