SQL and Transaction Processing:
SQL and relational databases originally had very little impact in online transaction
processing (OLTP) applications. With their emphasis on queries, relational databases
were confined to decision support and low volume online applications, where their slower
performance was not a disadvantage. For OLTP applications, where hundreds of users
needed online access to data and subsecond response times, IBM's nonrelational
Information Management System (IMS) reigned as the dominant DBMS.
In 1986 a new DBMS vendor, Sybase, introduced a new SQL-based database especially
designed for OLTP applications. The Sybase DBMS ran on VAX/VMS minicomputers and
Sun workstations and focused on maximum online performance. Oracle Corporation and
Relational Technology followed shortly with announcements that they, too, would offer
OLTP versions of their popular Oracle and Ingres database systems. In the Unix market,
Informix announced an OLTP version of its DBMS, named Informix-Turbo.
In 1988 IBM jumped on the relational OLTP bandwagon with DB2 Version 2, with
benchmarks showing the new version operating at over 250 transactions per second on
large mainframes. IBM claimed that DB2 performance was now suitable for all but the
most demanding OLTP applications, and encouraged customers to consider it as a
serious alternative to IMS. OLTP benchmarks have now become a standard sales tool for
relational databases, despite serious questions about how well the benchmarks actually
measure performance in real applications.
The suitability of SQL for OLTP improved dramatically through the 1990s, with advances
in relational technology and more powerful computer hardware both leading to ever
higher transaction rates. DBMS vendors started to position their products based on their
OLTP performance, and for a few years database advertising focused almost entirely on
these "performance benchmark wars." A vendor-independent organization, the
Transaction Processing Council, jumped into the benchmarking fray with a series of
vendor-independent benchmarks (TPC-A, TPC-B, and TPC-C), which only served to
intensify the performance focus of the vendors.
By the late 1990s, SQL-based relational databases on high-end Unix-based database
servers had passed the 1,000 transactions per second mark. Client/server systems using
SQL databases have become the accepted architecture for implementing OLTP
applications. From a position as "unsuitable for OLTP," SQL has grown to be the industry
standard foundation for building OLTP applications.