Author
Michael Stonebraker, Uğur Çetintemel
1 reading card from 1 book · 2005.
1 card
“One Size Fits All”: An Idea Whose Time Has Come and Gone · 2005
OLTP touches whole rows a few at a time; OLAP touches a few columns billions of times.
OLTP (transaction processing): thousands of small operations per second, each touching a few whole rows — an order, a customer — and each has to be correct while thousands of others happen at the same time. Hence row storage, B-tree indexes and transaction isolation. OLAP (analytical processing): a handful of large queries, each touching two or three columns across hundreds of millions of rows and summing them. Hence column storage, compression and batch scanning. Stonebraker said it in 2005: the era of one engine for everything was over, and since then columnar, streaming, time-series and document engines have arrived. HTAP systems try to do both in one; the price is complexity and, usually, a columnar copy kept up to date in the background. The practical rule: do not run reports on the production database. An analytical scan on a transactional engine blocks or slows writes and misuses the indexes. A read replica is first aid; the warehouse is the treatment.
“The last 25 years of commercial DBMS development can be summed up in a single phrase: “One size fits all”. This phrase refers to the fact that the traditional DBMS architecture (originally designed and optimized for business data processing) has been used to support many data-centric applications with widely varying characteristics and requirements.”