Wat is Isolatieniveau?

Instelling die bepaalt hoever de onderlinge beïnvloeding van gelijktijdig lopende transacties wordt voorkomen. De SQL-standaard definieert vier niveaus: READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ en SERIALIZABLE. Hogere niveaus voorkomen meer van de dirty reads, non-repeatable reads en phantom reads, maar verminderen de hoeveelheid werk die gelijktijdig kan worden verwerkt.

Japanse benaming: 分離レベル

“Isolatieniveau” komt voor in 3 oefenvragen uit 1 onderwerpen, bijv. Basis van databases.

Vakgebied: Basis van databases

Nu oefenen: vragen over Isolatieniveau

Welk antwoord noemt van de isolatieniveaus die de SQL-standaard definieert juist de verschijnselen die bij READ COMMITTED kunnen optreden?

  1. ADirty reads, non-repeatable reads en phantom reads kunnen geen van alle optreden
  2. BDirty reads kunnen niet optreden, maar non-repeatable reads en phantom reads wel
  3. CDirty reads en non-repeatable reads kunnen niet optreden, maar phantom reads wel
Antwoord en toelichting tonen

Antwoord: B. Dirty reads kunnen niet optreden, maar non-repeatable reads en phantom reads wel

De SQL-standaard definieert vier isolatieniveaus, gerangschikt van het minste aantal voorkomen verschijnselen af: READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ en SERIALIZABLE. Bij READ UNCOMMITTED kunnen alle drie verschijnselen optreden. READ COMMITTED leest alleen gecommitte gegevens en voorkomt zo dirty reads, maar omdat elke leesactie de op dat moment gecommitte waarde ziet, kunnen non-repeatable reads en phantom reads optreden. REPEATABLE READ voorkomt daarnaast non-repeatable reads, maar phantom reads kunnen nog optreden. SERIALIZABLE voorkomt alle drie en garandeert hetzelfde resultaat als wanneer de transacties in een bepaalde volgorde een voor een worden uitgevoerd. Hoe hoger het isolatieniveau, hoe meer wachten op locks en herhalingen er zijn en hoe minder werk gelijktijdig kan worden verwerkt, dus het niveau wordt gekozen naar de toepassing. In echte DBMS'en kunnen het standaardisolatieniveau en de verschijnselen die elk niveau werkelijk voorkomt sterker zijn dan de minimumeisen van de standaard.

“Isolatieniveau” in de toelichting

Vragen met “Isolatieniveau” (3)

  1. Welk antwoord noemt van de isolatieniveaus die de SQL-standaard definieert juist de verschijnselen die bij READ COMMITTED kunnen optreden?
  2. Welke beschrijving van een dirty read, een van de problemen die optreden als transacties gelijktijdig lopen, is juist?
  3. Transactie T1 voerde SELECT COUNT(*) FROM Bestelling WHERE Bedrag >= 1000 uit en kreeg 8. Direct daarna voegde T2 met INSERT een rij toe voor een bestelling met een bedrag van 2000 en voerde een commit uit. Toen T1 hetzelfde SELECT-statement opnieuw uitvoerde, kreeg het 9. Welk verschijnsel is dit?

Verwante termen

SQL Transactie ACID-eigenschappen Derde normaalvorm (3NF) ER-diagram (entity-relationshipdiagram) Index (databaseindex) Normalisatie NoSQL Primaire sleutel Relationele database

Naar de woordenlijst