stringtranslate.com

Problema de Halloween

En informática, el problema de Halloween se refiere a un fenómeno en las bases de datos en el que una operación de actualización provoca un cambio en la ubicación física de una fila, lo que potencialmente permite que se vuelva a visitar la fila más tarde en la misma operación de actualización. Esto podría incluso provocar un bucle infinito en algunos casos en los que las actualizaciones colocan continuamente el registro actualizado por delante del escaneo que realiza la operación de actualización.

El potencial de este error de base de datos fue descubierto por primera vez por Don Chamberlin , Pat Selinger y Morton Astrahan en 1976, el día de Halloween mientras trabajaban en una consulta que se suponía que otorgaría un aumento del diez por ciento a cada empleado que ganara menos de $25,000. Esta consulta se ejecutaría correctamente, sin errores, pero cuando terminara, todos los empleados en la base de datos ganaran al menos $25,000, porque seguía dándoles un aumento hasta que alcanzaran ese nivel. La expectativa era que la consulta iteraría sobre cada uno de los registros de empleados con un salario menor a $25,000 exactamente una vez. De hecho, debido a que incluso los registros actualizados eran visibles para el motor de ejecución de consultas y, por lo tanto, continuaban coincidiendo con los criterios de la consulta, los registros de salario coincidían varias veces y cada vez se les otorgaba un aumento del 10% hasta que todos fueran mayores a $25,000.

El nombre no describe la naturaleza del problema, sino que se le dio debido al día en que se descubrió. Como lo relata Don Chamberlin: [1]

Pat y Morton descubrieron este problema en Halloween... Recuerdo que vinieron a mi oficina y me dijeron: "Chamberlin, mira esto. Tenemos que asegurarnos de que cuando el optimizador esté haciendo un plan para procesar una actualización, no utilice un índice que esté basado en el campo que se está actualizando. ¿Cómo vamos a hacer eso?". Resultó que era un viernes y dijimos: "Escucha, no vamos a poder resolver este problema esta tarde. Vamos a darle un nombre. Lo llamaremos el Problema de Halloween y trabajaremos en él la semana que viene". Y resulta que se ha llamado así desde entonces.

Referencias

  1. ^ Chamberlin, DD (3 de octubre de 2001). "Entrevista de historia oral con Donald D. Chamberlin" . Consultado el 6 de mayo de 2022 .