La importancia de un observable es que puede transportar mucha información, incluso si depende de variables ocultas. Por ejemplo, el orden de ejecución de transacciones es un observable. Depende claramente de variables ocultas, como el flujo de orden. Sin embargo, sigue siendo posible construir un estimador a partir de las suposiciones observables y probar los modelos para evaluar la reproducibilidad del evento observado, sin necesariamente conocer la variable oculta. Podemos comparar el orden de ejecución real con uno ideal, donde las transacciones están perfectamente ordenadas por prioridad, definiendo una distancia entre el orden real y el orden ideal. A partir de esto, obtenemos una distribución específica para cada planificador. Bajo supuestos básicos, como el tiempo dedicado a planificar transacciones antes de la ejecución y el grado de paralelización, podemos reproducir las distribuciones medidas usando simulaciones donde se asume que el flujo de órdenes es uniforme en todos los planificadores. Encontramos que: - un planificador que ejecuta transacciones a medida que están disponibles, usando prioridad solo para resolver transacciones concurrentes, reproduce casi perfectamente Agave - un planificador que agrupa y ejecuta transacciones cada 50 ms reproduce casi a la perfección BAM - un planificador que espera hasta casi el final del espacio para ejecutarlo todo reproduce casi a la perfección el planificador de ingresos de Frankendancer Nada de esto aparte disparidades en el flujo de órdenes. ¿Significa esto que el flujo de orden puede eliminarse como variable oculta? No. El hecho de que un modelo reproduzca los datos no implica que las perturbaciones en el modelo no puedan tener efectos de cola, por lo que el flujo de orden es una variable esencial al estudiar valores atípicos o eventos anómalos repetidos. ¿Significa esto que no se puede aprender nada operando bajo un régimen de "flujo de orden igual"? No. Lo que sí aprendes es cómo se comporta la programación bajo condiciones de paridad.