OLTP (online transaction processing) is a class of software programs capable of supporting transaction-oriented applications on the Internet. In computing, a transaction is a sequence of discrete information exchanges that are treated as a unit. Many everyday acts involve OLTP, including online banking, online shopping and even in-store shopping when the point of sale (POS) terminal is tied to inventory management software.
Two important characteristics of an OLTP system are concurrency and atomicity. Atomicity guarantees that if one step is incomplete or fails during the transaction, the entirety will not continue. Concurrency prevents multiple users from altering the same data at the same time. In order for a transaction to be completed successfully, all database changes must be permanent, a condition known in computing as atomic statefulness.
To avoid single points of failure, OLTP systems are often decentralized. For example, Google Cloud Spanner is a distributed relational database service that runs on Google Cloud. It is designed to support global online transaction processing.
OLTP vs. OLAP
In the past, online transaction processing (OLTP) databases were designed to only handle operational data and separate online analytical processing (OLAP) databases handled any analytical processes. While OLTP systems processed all kinds of queries (read, insert, update and delete), OLAP was generally optimized for read only queries. To bridge the two systems, extract, transform and load (ETL) processes periodically moved data from the OLTP database to the OLAP database.
Today, some in-memory databases are able to process tables of transaction data stored in system memory instead of having to pull them from disk storage. This approach is called in-memory OLTP.