OBIEE – Esquema

Un esquema es una descripción lógica de toda la base de datos. Incluye el nombre y la descripción de todos los tipos de registros, incluidos todos los miembros y agregados de datos asociados. Como una base de datos, DW también requiere soporte de esquema. La base de datos usa el modelo relacional, mientras que DW usa los esquemas Star, Snowflake y Fact Constellation (esquema Galaxy).

Esquema de estrella

En un esquema en estrella, hay varias tablas de dimensiones en forma no normalizada que se concatenan con una sola tabla de hechos. Estas tablas se combinan de manera lógica para cumplir con algunos requisitos comerciales con fines de análisis. Estos diagramas son estructuras multidimensionales que se utilizan para crear informes utilizando herramientas de informes de BI.

Las dimensiones en los esquemas en estrella contienen un conjunto de atributos y las tablas de hechos contienen claves externas para todas las dimensiones y valores de dimensión.

Esquema de estrella

El esquema en estrella anterior tiene una tabla de hechos de hechos de ventas en el centro que está conectada a tablas de 4 dimensiones usando claves primarias. Las tablas de dimensiones no se normalizan más y esta combinación de tablas se conoce como esquema en estrella en DW.

La tabla de hechos también contiene los valores métricos: dollar_sold y units_sold.

Esquema de copo de nieve

El esquema de Snowflakes tiene varias tablas de dimensiones en forma normalizada que se combinan con una sola tabla de hechos. Estas tablas se combinan lógicamente para cumplir con algunos requisitos comerciales con fines de análisis.

La única diferencia entre los esquemas Star y Snowflakes es que las tablas de dimensiones también están normalizadas. La normalización divide los datos en tablas adicionales. La normalización en el esquema Snowflake reduce la redundancia de datos sin perder información, lo que facilita el mantenimiento y el ahorro de espacio de almacenamiento.

Esquema de copo de nieve

En el ejemplo de esquema de Snowflakes anterior, las tablas Producto y Cliente se normalizan aún más para ahorrar espacio de almacenamiento. A veces, también proporciona optimizaciones de rendimiento cuando ejecuta una consulta que requiere procesar filas directamente en la tabla normalizada, por lo que no procesa filas en la tabla de dimensiones principal y va directamente a la tabla normalizada en el esquema.

Granularidad

La granularidad en una tabla representa el nivel de información almacenada en una tabla. Una granularidad de datos significa que los datos están a nivel de transacción, o casi a nivel de transacción, que tiene información más detallada. La granularidad baja significa que los datos tienen un nivel de información bajo.

La tabla de hechos suele estar diseñada con un nivel de detalle bajo. Esto significa que necesitamos encontrar el nivel más bajo de información que se pueda almacenar en la tabla de hechos. En una dimensión de fecha, el nivel de detalle puede ser año, mes, trimestre, período, semana y día.

El proceso de determinación de la granularidad consta de dos etapas:

  • Determinación de las tallas a incluir.
  • Determinar dónde ubicar la jerarquía de cada dimensión de información.

Tamaños que cambian lentamente

El cambio de tamaño lento se refiere al cambio en el valor de un atributo a lo largo del tiempo. Este es uno de los conceptos generales de DW.

Ejemplo

Andy es un empleado de XYZ Inc. Llegó por primera vez a Nueva York en julio de 2015. El registro original en la tabla de búsqueda de empleados tiene el siguiente registro:

ID de empleado 10001
Nombre Andy
Localización Nueva York

Luego se mudó a Los Ángeles, California. Cómo XYZ Inc. ¿Debería modificar ahora su tabla de empleados para reflejar este cambio?

Esto se conoce como el concepto de «dimensión que cambia lentamente».

Hay tres formas de resolver este problema:

Solucion 1

La nueva entrada reemplaza a la original. No existe rastro del antiguo registro.

Cambiando el tamaño lentamente, la nueva información simplemente sobrescribe el original. En otras palabras, no se guarda la historia.

ID de empleado 10001
Nombre Andy
Localización Los Angeles, California
  • Beneficio – Ésta es la forma más sencilla de solucionar el problema del tamaño que cambia lentamente, ya que no es necesario realizar un seguimiento de la información antigua.

  • Desventaja – Se pierde toda la información histórica.

  • Usar – La Solución 1 debe usarse cuando DW no necesita rastrear información histórica.

Solucion 2

El nuevo registro se ingresa en la tabla de dimensiones Empleado. Entonces, el empleado Andy es tratado como dos personas.

Se agrega un nuevo registro a la tabla para representar la nueva información, con el registro original y el nuevo presente. El nuevo registro obtiene su propia clave primaria como esta:

ID de empleado 10001 10002
Nombre Andy Andy
Localización Nueva York Los Angeles, California
  • Beneficio – Este método nos permite almacenar toda la información histórica.

  • Desventaja – El tamaño de la mesa crece más rápido. Cuando el número de filas de una tabla es muy grande, el espacio de la tabla y el rendimiento pueden ser un problema.

  • Usar – La Solución 2 debe usarse cuando DW necesite almacenar datos históricos.

Solución 3

El registro original en la dimensión Empleado se modifica para reflejar este cambio.

Habrá dos columnas para indicar un atributo específico: una indica el valor original y la otra indica el nuevo valor. También habrá una columna que indica cuándo se activará el valor actual.

ID de empleado Nombre Ubicación original Nuevo lugar Fecha de mudanza
10001 Andy Nueva York Los Angeles, California Julio de 2015
  • Beneficios – Esto no aumenta el tamaño de la tabla a medida que se actualiza nueva información. Esto nos permite almacenar información histórica.

  • Desventaja – Este método no guarda el historial completo cuando el valor del atributo se cambia más de una vez.

  • Usar – La Solución 3 solo debe usarse cuando se requiera DW para almacenar información histórica de cambios.

Normalización

La normalización es el proceso de descomponer una tabla en tablas más pequeñas y menos redundantes sin perder información. Por lo tanto, la normalización de la base de datos es el proceso de organizar los atributos y las tablas de la base de datos para minimizar la redundancia de datos (duplicación de datos).

El objetivo de la normalización

  • Se utiliza para eliminar ciertos tipos de datos (redundancia / replicación) para mejorar la coherencia.

  • Proporciona la máxima flexibilidad para satisfacer las necesidades de información futuras al almacenar tablas correspondientes a los tipos de objetos en sus formas simplificadas.

  • Esto crea un modelo de datos más claro y legible.

Beneficios

  • Integridad de los datos.
  • Mejora la coherencia de los datos.
  • Reduce la redundancia de datos y los requisitos de espacio.
  • Reduce el costo de actualización.
  • Máxima flexibilidad para responder a solicitudes especiales.
  • Disminuye el número total de líneas en el bloque.

desventajas

Rendimiento deficiente de la consulta de la base de datos porque se deben realizar uniones para recuperar los datos adecuados de varias tablas normalizadas.

Debe comprender el modelo de datos para realizar uniones correctas en varias tablas.

Ejemplo

El objetivo de la normalización

En el ejemplo anterior, la tabla dentro del cuadro verde es una tabla normalizada dentro del cuadro rojo. La tabla del cuadro verde es menos redundante y también tiene menos filas sin pérdida de información.

🚫