dataiotech Labs
dbaguidedbaguideDBAdataxtoolsdataopsphere
Home/Terimler Sözlüğü/Undo Log & MVCC & Purge
Undo Log & MVCC & PurgeConcurrency & MVCC

InnoDB Undo Log, MVCC Snapshots & Background Purge Threads

UPDATE ve DELETE işlemlerinden sonra satırların eski sürümlerini geri alma segmentlerinde saklayan ve arka planda Purge iş parçacığıyla temizleyen MVCC mimarisidir.

Derin Mimari İncelemesi

InnoDB bir satır güncellendiğinde clustered index içindeki satırı yerinde değiştirir ancak eski değerleri Undo Tablespace'e yazar (Rollback Segment). Okuyucu sorgular bu undo zincirini geriye doğru tarayarak kendi snapshot anlarındaki görünümü inşa eder.

İşlem tamamlandığında Purge Thread kullanılmayan eski undo sürümlerini temizler. Uzun süren sorgular (long-running transactions) varsa, History List Length (HLL) milyonlara fırlar; undo tablespace şişer ve sorgular yavaşlar.

Üretim Gözlem ve Tanı Sorguları

MySQL
SHOW ENGINE INNODB STATUS\G; -- TRANSACTIONS: 'History list length'
SELECT * FROM information_schema.innodb_trx WHERE trx_started < NOW() - INTERVAL 1 HOUR;