OLTP applications typically automate clerical data processing
tasks such as order entry and banking transactions that are the
bread-and-butter day-to-day operations of an organization.
These tasks are structured and repetitive, and consist of short,
atomic, isolated transactions. The transactions require
detailed, up-to-date data, and read or update a few (tens of)
records accessed typically on their primary keys. Operational
databases tend to be hundreds of megabytes to gigabytes in
size. Consistency and recoverability of the database are
critical, and maximizing transaction throughput is the key
performance metric. Consequently, the database is designed
to reflect the operational semantics of known applications,
and, in particular, to minimize concurrency conflicts.