Cadılar Bayramı Sorunu - Halloween Problem

Hesaplamada, Cadılar Bayramı Sorunu bir fenomeni ifade eder veritabanları içinde bir Güncelleme İşlem, bir sıranın fiziksel konumunda bir değişikliğe neden olur ve potansiyel olarak işlem sırasında sıranın birden fazla kez ziyaret edilmesine izin verir. Bu, güncellemelerin sürekli olarak güncellenmiş kaydı güncelleme işlemini gerçekleştiren taramanın önüne yerleştirdiği bazı durumlarda sonsuz bir döngüye neden olabilir.

Bu veritabanı hatası olasılığı ilk olarak tarafından keşfedildi Don Chamberlin, Pat Selinger, ve Morton Astrahan 1976'da Cadılar bayramı 25.000 $ 'dan az kazanan her çalışana yüzde on zam vermesi gereken bir sorgu üzerinde çalışırken. Bu sorgu, hiçbir hata olmadan başarılı bir şekilde çalışacaktı, ancak bittiğinde veritabanındaki tüm çalışanlar en az 25.000 $ kazandı, çünkü bu seviyeye ulaşana kadar onlara zam vermeye devam etti. Beklenti, sorgunun, tam olarak bir kez 25.000 $ 'dan az maaşla çalışan kayıtlarının her biri üzerinde yinelenmesiydi. Aslında, güncellenmiş kayıtlar bile sorgu yürütme motoru tarafından görülebildiği ve bu nedenle sorgunun kriterleriyle eşleşmeye devam ettiği için, maaş kayıtları birden çok kez eşleşiyordu ve her seferinde 25.000 $ 'dan fazla olana kadar% 10 zam veriliyordu.

İsim, sorunun doğasını tanımlayıcı değil, keşfedildiği gün nedeniyle verilmiştir. Don Chamberlin'in anlattığı gibi:

Pat ve Morton bu sorunu Cadılar Bayramı'nda keşfettiler ... Ofisime geldiklerini ve 'Chamberlin, şuna bak. İyileştirici bir güncellemeyi işlemek için bir plan yaparken, güncellenen alana dayalı bir dizin kullanmadığından emin olmalıyız. Bunu nasıl yapacağız? 'Cuma günü oldu ve dedik ki,' Dinle, bu sorunu bu öğleden sonra çözemeyeceğiz. Ona bir isim verelim. Buna Cadılar Bayramı Sorunu diyeceğiz ve önümüzdeki hafta üzerinde çalışacağız. "Ve o zamandan beri buna denildiği ortaya çıktı.

Referanslar