Transaktioner Flashcards
Hvad er definitionen på en transaktion?
En behandling af informationer, der enten lykkes eller ikke lykkes.
Transaktioner er et forløb således at behandlinger af data ikke foregår kaotisk, eksempelvis er det påkrævet i banken.
Forklar the lost update problem
Når to transaktioner på to forskellige enheder ikke er samtidige.
Når en behandling af data eksempelvis pengeindsættelse i banken foregår kaotisk, og ikke registrerer indsættelsen på forskellige enheder.
Hvad er seriel ækvivalens?
Når to operationers transaktioner giver samme resultat.
Man kan sikre dette ved at låse værdier, som er meget udbredt i databaser.
Forklar begrebet deadlocking
Når to transaktioner venter på hinandens enten skrive- eller læselåse. Mennesket er nødsaget til at slukke enheden for at komme videre igen.
Hvad er atomicitet?
At en transaktion enten lykkes eller sket ikke lykkes.
Hvad betyder concurrency control?
En måde at styre samtidig afvikling på, så det ikke går rabondus, eksempelvis Excel, hvor kun én kan arbejde i samme dokument ad gangen.
Hvilke tre metoder bruges i forbindelse med concurrency control?
- Two-phase locks
- Optimistic concurrency control
- Timestamp
Forklar Two-phase locking
Før et dokument læses, låses det med en læse-lås
Før et dokument skrives, låses det med en skrive-lås
Dokumentet holder begge låse indtil dokumentet af lukket ned.
Fase 1: Setter låsene
Fase 2: Fjerne låsene
Forklar optimistic concurrency control
En antagelse om, at flere forskellige transaktioner kan gennemføres uden at påvirke hinanden, og bliver gennemført uden brug af locking. Når data er blevet gemt, undersøges den hvorvidt, der yderligere er blevet ændret i dokumentet i mellemtiden.
Eksempelvis Dropbox, Google docs, Wikipedia.
Forklar Timestamp orderings tre regler:
- En transaktion må ikke gemme en værdi, der af en anden transaktion er blevet læst på et senere tidspunkt (Sidste læsning tæller)
- En transaktion må ikke gemme en værdi, der af en anden transaktion er blevet gemt på et senere tidspunkt. (Sidste gem tæller)
- En transaktion må ikke læse en værdi, der af en anden transaktion er blevet gemt på et senere tidspunkt (Sidste gem tæller)
Forklar hvad ACID står for og hvad de enkelte begreber betyder
Atomicity: Enten lykkes tranaktionen, eller også lykkes den ikke.
Consistency: Sørger for at alle data er korrekte.
Isolation: Transaktionen foregår isoleret fra andre transaktioner, således at de ikke intefererer.
Durability: Når transaktioner er gennemført, skal det gemmes permanent, således det kan tåle systemnedbrud.
Hvornår er en transaktioner distribueret?
Når den anvender værdier fra flere forskellige steder, eksempelvis, når en transaktioner læser værdier fra et cluster af servere.
Forklar Two-Generals Problem
To generaler (Server) på to forskellige sider af en grøft, hvor fjenden er, skal kommunikerer med hinanden om hvornår, der skal angribes. Begge generaler (Server) sender en sendebud afsted, hvor problemet ligger i, at sendebuddet kan enten lyve, blive dræbt el lignende således, begge arméer får fejlinformation. Det kan selvfølgelig også lykkes.
Forklar Two-phase commit protocol
Basalt set, at afsender spørger om modtager er klar til at modtaget data, hvorefter modtager skal sende et svar tilbage, hvorvidt det er klar eller ej.
Eksempelvis en server.
- Hvis alle melder grønt lys tilbage, bliver transaktionen gennemført (Commit)
- Hvis ikke alle melder grønt lys tilbage, bliver transaktionen afbrudt (Abort/Rollback)
- Hvis en modtager melder grønt lys tilbage, men ikke hører fra afsender mere, er modtageren i Uncertain state.
Forklar begrebet konsensus
Når flere servere i et cluster eksempelvis, er enige om én værdi.