In der Informatik bezeichnet das Halloween-Problem ein Phänomen in Datenbanken , bei dem eine Aktualisierungsoperation die physische Position einer Zeile verändert. Dadurch kann die Zeile im selben Aktualisierungsvorgang später erneut besucht werden. Dies kann in manchen Fällen sogar eine Endlosschleife verursachen, da Aktualisierungen den aktualisierten Datensatz immer wieder vor den Scan platzieren, der die Aktualisierungsoperation durchführt.
Das Potenzial für diesen Datenbankfehler wurde Mitte der 1970er-Jahre, am Halloween- Tag, von Don Chamberlin , Pat Selinger und Morton Astrahan entdeckt, als sie an der Optimierung von Abfragen arbeiteten . [ 1 ] Sie schrieben eine SQL-Abfrage, die jedem Mitarbeiter mit einem Gehalt unter 25.000 US-Dollar eine Gehaltserhöhung von zehn Prozent gewähren sollte. Diese Abfrage lief fehlerfrei durch, doch nach Abschluss verdienten alle Mitarbeiter in der Datenbank mindestens 25.000 US-Dollar, da die Abfrage ihnen so lange eine Gehaltserhöhung gewährte, bis sie dieses Niveau erreichten. Erwartet wurde, dass die Abfrage jeden Mitarbeiterdatensatz mit einem Gehalt unter 25.000 US-Dollar genau einmal durchlaufen würde. Da jedoch auch aktualisierte Datensätze für die Abfrageausführung sichtbar waren und somit weiterhin den Abfragekriterien entsprachen, wurden Gehaltsdatensätze mehrfach erkannt und erhielten jedes Mal eine Gehaltserhöhung von 10 Prozent, bis alle über 25.000 US-Dollar verdienten.
Anders als manche glauben, beschreibt der Name nicht die Art des Problems, sondern wurde aufgrund des Tages seiner Entdeckung vergeben. [ 1 ] Wie Don Chamberlin berichtet: [ 2 ]
Pat und Morton entdeckten dieses Problem an Halloween … Ich erinnere mich, sie kamen in mein Büro und sagten: „Chamberlin, schau dir das an! Wir müssen sicherstellen, dass der Optimierer bei der Planung einer Aktualisierung keinen Index verwendet, der auf dem zu aktualisierenden Feld basiert. Wie sollen wir das bloß schaffen?“ Es war zufällig ein Freitag, und wir sagten: „Hört mal, wir werden das Problem heute Nachmittag nicht lösen können. Geben wir ihm einfach einen Namen. Wir nennen es das Halloween-Problem und kümmern uns nächste Woche darum.“ Und wie sich herausstellte, wird es seitdem so genannt.
Referenzen
- ^ a b Frana, Philip (April–Juni 2002). „Eine gut gemeinte Anfrage und das Halloween-Problem“. IEEE Annals of the History of Computing . 24 (2): 86–89 . doi : 10.1109/MAHC.2002.1010071 . ISSN 1058-6180 .
- ^ Chamberlin, DD (2001-10-03). „Oral history interview with Donald D. Chamberlin“ . hdl : 11299/107215 . Abgerufen am 06.05.2022 .
- Das SQL-Treffen von 1995 (Protokoll)
- Das "Halloween-Problem" für XML-APIs , Mike Champions Weblog.