Online Transaktion Processing (OLTP) databaser inkluderar en uppsättning funktioner -disk-bofasta B-trees och höge filer, lås-baserad konvergenskontroll, stöd för multi-threading -som optimerades för datorteknik i slutet av 1970-talet. Framsteg i moderna processorer, minnen och nätverk innebär att dagens datorer skiljer sig mycket från dem för 30 år sedan, så att många OLTP-databaser nu kommer att passa i huvudminnet, och de flesta OLTP-transaktioner kan behandlas i millisekunder eller mindre. Ändå har databasarkitekturen förändrats lite. Baserat på denna observation, vi tittar på några intressanta varianter av konventionella databassystem som man kan bygga som utnyttjar den senaste hårdvara trender, och spekulera på deras prestanda genom en detaljerad instruktion-nivå uppdelning av de viktigaste komponenterna som ingår i en transaktion bearbetning databassystem (Shore) som kör en delmängd av TPC-C. I stället för att bara profilera Shore, vi gradvis modifierat det så att efter varje funktion borttagning eller optimering, vi hade ett (snabbare) arbetssystem som helt körde vår arbetsbelastning. Sammantaget identifierar vi overheads och optimeringar som förklarar en total skillnad på cirka en faktor på 20x i rå prestanda. Vi visar också att det inte finns någon enda "hög stolpe i tältet" i moderna (minnesboende) databassystem, men att betydande tid används i loggning, spärrning, låsning, Btree, och bufferthantering.
Harizopoulos m.fl. REF genomförde en detaljerad prestandastudie av komponenterna i ett system för minnesbaserad transaktionsbehandling och visade att endast en liten del av den totala tiden går åt till det användbara arbetet.
OLTP through the looking glass, and what we found there
{'venue': 'SIGMOD Conference', 'journal': None, 'mag_field_of_study': ['Computer Science']}