11
OLTP is Totally Different by Michael Stonebraker

OLTP is Totally Different by Michael Stonebraker

Embed Size (px)

Citation preview

OLTP is Totally Different

by

Michael Stonebraker

The Old Way The New WayThe Old Way The New Way

storage Disk Main memory

Caching Anti-caching

ACID Record level locking

MVCC, TS ordering, …

Data logging Command logging

Replication Active-passive Active-active

Products

Old WayOracle, DB2, SQLServer, Postgres, MySQL …

New WayHekaton, Hana, MemSQL, VoltDB, SQLFire,…

Main Memory Storage

1 Tbyte costs (maybe) $25K and declining

rapidlyIf your data doesn’t fit then wait a couple of

yearsNVRAM will push this way out later this decade

Anti-Caching (VLDB ‘14)

Main memory format for dataWhen memory fills, gather cold tuples and write

to an archive (in main memory format)When a transaction has a “miss”, abort it but

continue with “fake processing” to find all the

absent dataGet and “pin” the needed dataReschedule transaction when all needed data in

main memoryNumbers from H-Store implementation

Some Data From Nirmesh Malvaiya

Implemented Aries in VoltDBCompared against the VoltDB scheme

Asynchronous checkpoints

Command logging

Some Data From Nirmesh Malvaiya

1.5 X run-time performance gain1.5 X penalty at recovery time

Almost all OLTP applications demand HAOnly run recovery for cluster-wide failures

E.g. power outage

9

Concurrency Control

MVCC popular (Hana, Hekaton) Time stamp order popular (H-Store/VoltDB) Lightweight combinations of time stamp order

and dynamic locking (Calvin, Dora) I don’t know anybody who is doing normal

dynamic locking It’s too slow!!!!

How to Implement HA

Active-Passive

As in the traditional wisdom

Active-Active

Send update transactions to all copies

Each executes transaction logic

Requires deterministic scheduling!!!

Net-Net on OLTP

Main memory DBMS

With anti-caching

And command logging

Deterministic concurrency controlHA via active-active

Has nothing to do with the traditional wisdom!!!