Los sesgos en la toma de decisiones

En la toma de decisiones no basta un buen sistema de información, como señalamos en una entrada anterior, el adecuado control de nuestras emociones puede encaminarnos a decisiones más acertadas. Hay varios artículos sobre el proceso decisional, por ejemplo, en el artículo de referencia se señala cuatro “sesgos” en la toma de decisiones, para lo cual se mencionan sugerencias al respecto, esta publicación se basado en la teoría WRAP (acrónimo formado por las iniciales de las soluciones para evitar estos sesgos).


En la toma de decisiones no basta un buen sistema de información, como señalamos en una entrada anterior, el adecuado control de nuestras emociones puede encaminarnos a decisiones más acertadas. Hay varios artículos sobre el proceso decisional, por ejemplo, en el artículo de referencia se señala cuatro “sesgos” en la toma de decisiones, para lo cual se mencionan sugerencias al respecto, esta publicación se basado en la teoría WRAP (acrónimo formado por las iniciales de las soluciones para evitar estos sesgos).

Los sesgos en la toma de decisiones son los siguientes:

  1. Los marcos estrechos. Son la tendencia común que tenemos al definir nuestras opciones de un modo demasiado acotado, con el fin de verlas en términos binarios. Por ejemplo, nos preguntamos: ¿Deberíamos hacer esto o esto otro? En lugar de platearnos de este modo una situación, deberíamos preguntarnos: ¿Hay alguna manera de hacer esto y esto otro? Con frecuencia nos encontramos atrapados en un marco estrecho en el que se destaca una alternativa a expensas de las otras.
  2. Sesgo de confirmación. Un hábito normal en nuestras vidas es desarrollar una creencia precipitada acerca de una situación y luego buscar información que refuerce esa creencia. Cuando la gente tiene la oportunidad de recopilar información, es más probable que seleccione aquella información que respalda su actitud, sus creencias y sus acciones preexistentes.
  3. Las emociones a corto plazo. Cuando debemos tomar una decisión difícil, nuestros sentimientos se agitan. Repetimos los mismos argumentos en nuestra cabeza. Nos desesperamos por nuestras circunstancias. Cambiamos de opinión de un día para otro… Levantamos tanta polvareda que no podemos ver el camino a seguir.
  4. El exceso de confianza. La gente cree saber más de lo que en realidad sabe sobre el futuro. Tenemos demasiada confianza en nuestras propias predicciones debido a que, centramos nuestra atención en la información que tenemos a mano, y luego sacamos conclusiones a partir de esa información.

Cómo contrarrestar nuestros sesgos

Un proceso normal de toma de decisiones, habitualmente se lleva a cabo en cuatro pasos, cada uno de estos pasos puede verse influenciada por algún sesgo. A continuación, se señalan estos pasos con la posible solución que evite la influencia de los sesgos:

  1. Nos encontramos con una elección. Pero un marco estrecho hace que no tengamos en cuenta algunas opciones. Sugerencia: Ampliemos nuestras opciones (Widen your options).
  2. Analizamos nuestras opciones. Pero el sesgo de información nos lleva a recopilar información interesada. Sugerencia: Pasemos nuestros supuestos por la prueba de la realidad (Reality-test your assumptions).
  3. Tomamos una decisión. Pero las emociones a corto plazo, a menudo, nos tentarán a tomar la decisión equivocada. Sugerencia: Tomemos distancia antes de decidir (Attain distance before deciding).
  4. Luego vivimos con ella. Pero, a menudo, confiaremos demasiado respecto a lo que deparará el futuro. Sugerencia: Preparemonos para estar equivocados (Prepare to be wrong).

Referencia:Harvrd Deusto (Nro. 232 – Marzo 2014)

Particionado de Tablas en SAP HANA (y III) – Buenas Prácticas


A continuación señalamos algunas buenas prácticas (best practices) al definir particiones en SAP HANA Database. Cabe señalar que para los objetos BW on SAP HANA, la técnica de particionamiento es distinta (ver entradas anteriores: aquí y aquí):

  • Sólo aplicar el particionado de tablas cuando sea necesario y se observa un beneficio claro de esta técnica. Una alta cantidad de particiones innecesarias ocasionaría una sobrecarga en el sistema al ejecutar consultas, al tener que acceder a múltiples particiones para encontrar los datos solicitados.
  • Si se particiona por el límite de tamaño de tabla de los dos mil millones de registros, es aceptable si el tamaño de las particiones contienen hasta los 500 millones de registros.
  • Si el criterio de partición es por fecha, se debe evitar utilizar criterios granulares tales como día o semana, dado que generaría un gran número de particiones.
  • Si se utiliza el tipo de partición RANGE sobre una columna cuyo contenido no se distribuye uniformemente, se deben verificar la distribución de sus valores reales para definir los límites de los rangos en consecuencia
  •  Utilizar el menor número de columnas para definir el criterio de particionamiento. En el caso del tipo de partición HASH, a menudo es útil emplear sólo la columna clave más selectiva, para que las solicitudes de datos que incluye esta columna sólo accedan a una partición.
  •  Las buenas prácticas de los documentos de referencia, señalan que las particiones de una misma tabla estén contenidas en el mismo host si es que se cuenta con una estrategia scale-out (despliegue/escalabilidad horizontal)
  • Si se va a reparticionar una tabla, para lograr mayor eficiencia, elija un número múltiplo o divisor del número de particiones con respecto al actual.
  • Evitar la definición de particiones con restricciones únicas adicionales, por ejemplo índices secundarios, dado que las verificaciones posteriores significarían una sobrecarga importante.

Particionado de Tablas en SAP HANA (II) – Tipos de Partición

Seguimos señalando las características básicas sobre el particionamiento de los datos en SAP HANA Database (ver entrada anterior)
Tipos de particionamiento


Seguimos señalando las características básicas sobre el particionamiento de los datos en SAP HANA Database (ver entrada anterior)

Tipos de particionamiento

HASH. Los registros son asignados a particiones basados en un algoritmo hash, por lo que no se requiere un conocimiento profundo del contenido de la tabla (no hay una separación lógica de los datos). En la configuración de esta tipo de partición se debe indicar las columnas cuyos valores se utilizarán para determinar el valor hash. Si las tablas tienen columnas índices, estas deben ser utilizadas en este proceso. De fácil configuración, no requieren mantenimiento. Durante las consultas todas las particiones deben ser exploradas a menos que se indique explícitamente las particiones a consultar (parámetros “=” o “IN” de la cláusula “WHERE”).

ROUND-ROBIN. Se utiliza para lograr una distribución uniforme de los datos en las particiones, a diferencia del caso anterior, no es necesario especificar columnas para definir el criterio de este proceso. Los nuevos registros de van asignando rotativamente. Las tablas no deben tener claves primarias. Son de fáciles configuración, no requieren mantenimiento. En consultas, todas las particiones deben ser exploradas. No hay separación lógica de los datos.

RANGE. Los registros son asignados a particiones utilizando los rangos de particiones definidos. Es la única que define la asignación de particiones bajo un criterio lógico, en consecuencia, es la mejor vía para optimizar el acceso a los datos. Para una adecuada configuración, es necesario conocer los datos y sus aplicaciones. Es necesario un regular mantenimiento (p.e. para definir nuevas particiones o eliminar otras cuyos datos han sido archivados). Es necesario el uso de una clave principal. Sólo es aplicable para tipos de datos (cadenas, enteros y fechas).

Particionamiento multinivel en SAP HANA Database

Cualquier definición de partición utilizando uno de los métodos anteriores, dará lugar a un particionamiento simple (single-level partioning). Si cada partición es particionada nuevamente por otros criterios, estaríamos hablando un particionamiento multinivel (multi-level partitioning).

Particionado de Tablas en SAP HANA (I) – Definiciones

En ocasiones, los problemas de rendimiento de muchos sistemas de información pasan por una falta de particionamiento de los datos o una mala adopción de esta técnica, SAP HANA no es una excepción, a pesar de los grandes recursos disponibles que puede tener la plataforma in-memory de SAP, está medida en ocasiones es necesaria.


En ocasiones, los problemas de rendimiento de muchos sistemas de información pasan por una falta de particionamiento de los datos o una mala adopción de esta técnica, SAP HANA no es una excepción, a pesar de los grandes recursos disponibles que puede tener la plataforma in-memory de SAP, está medida en ocasiones es necesaria.

A continuación, una breve relación de respuestas a preguntas frecuentes sobre este tema en SAP HANA:

Que es el Particionado de tablas de datos

  • El particionamiento significa que las tablas son divididas en sub-tablas denominadas particiones según un criterio específico.
  • Sólo es aplicable en tablas con almacenamiento columnar (column store), en tablas con almacenamiento en filas (row store) no soportan particionamiento.
  • El particionamiento es transparente para que las aplicaciones funcionen correctamente. Sin embargo la partición puede tener un impacto en el rendimiento, positivo o negativo, que pueden percibir los usuarios en la carga de los sistemas, depende de la estrategia implementada.

Cuando Particionar las tablas de datos

  • Por lo general, el particionado es muy útil en tablas de gran tamaño, por otro lado, debe tener presente que las tablas columnares no pueden superar los dos mil millones de registros.
  • Además del procesamiento paralelo, en un despliegue scale-out (escalabilidad horizontal, uso de más de un host), en consultas complejas, accediendo a particiones distribuidas en distintos nodos, se obtendría un alto rendimiento, más no en consultas simples.
  • Si las tablas tienes conjuntos de datos de uso frecuente, y otros conjuntos de menos uso, deberían ser particionados según este criterio (partition prune).
  • Si una región de datos sólo es actualizada y la otra no, los procesos de actualización serán más eficientes.

«Query Stripping» en WebI 4.1

“Query Stripping” (traducido como “Eliminación de Consultas” en la versión en español) es una nueva funcionalidad en SAP BusinessObjects 4.1, por el momento sólo aplicable en Web Intelligence (WebI), que permite mejorar el rendimiento de la actualización de documentos


Query Stripping” (traducido como “Eliminación de Consultas” en la versión en español) es una nueva funcionalidad en SAP BusinessObjects 4.1, por el momento sólo aplicable en Web Intelligence (WebI), que permite mejorar el rendimiento o performance de la actualización de documentos. Esta característica redefine la consulta diseñada para sólo incluir los elementos que se utilizan en los informes.

Esta característica es automáticamente incluida cuando se utiliza universos OLAP, en el caso de universos relacionales será necesario seguir los siguientes pasos:

  1. Habilitar en el universo relacional correspondiente, la opción “Allow query stripping” en el panel “Query Options”.
  2. Exportar (Publicar) la Capa de negocios (Business Layer) como un Universo UNX.
  3. Crear un nuevo documento WebI con el Universo UNX.
  4. Habilitar la opción “Enable query stripping” en el panel “Query Properties” del documento WebI.
  5. Antes de obtener los resultados y salvar el documento, verificar que la opción señalada en el punto anterior está habilitada.