Luisa Magali Calva Paucar
Manuel Ramírez Pírez
Alexis Cabrera Mondeja
luisamaggy@gmail.comResumen
El artículo tiene como objetivo exponer los resultados obtenidos a partir del diseño de una base de datos de procesamiento analítico en línea (OLAP) en la Armada del Ecuador, orientada específicamente al Sistema de Inventario e implementada mediante Pentaho como herramienta de inteligencia de negocio. Para lograr este propósito se desarrollaron cubos multidimensionales para manipular grandes volúmenes de datos, estos cubos se lograron a partir de la base de datos OLAP (DataMart). Mediante ETL se realizaron los procesos de extracción, transformación y carga de datos desde el sistema fuente a la base de datos del DataMart, extrayendo previamente los datos de la Base de Datos del Sistema de Inventario y cargándolos en la Base de Datos de Detalle. El diseño permitió generar reportes gerenciales con información actual, oportuna, eficiente y precisa, garantizando seguridad y confiabilidad de los datos. De esta forma se pudo consultar información histórica de la situación de los inventarios y los niveles de stock facilitando la toma de decisiones. El acceso y el manejo de la información estuvieron sometidos a políticas internas para proteger la información.
Palabras clave: base de datos OLAP, cubos multidimensionales, data mart, data warehouse, sistema de inventario
Abstract
The article aims to present the results obtained from the design of a database of online analytical processing (OLAP) in the Ecuador Navy, specifically oriented to the Inventory System, and implemented using Pentaho as business intelligence tool. To achieve this purpose multidimensional cubes were developed to handle large volumes of data, these cubes were obtained from the database OLAP (DataMart) data. Data extraction, transformation and load were processed by ETL from the source system to the DataMart database, previously extracting data from the Inventory System Database and loading them to the Detail Database . The design allowed to generate management reports with current, timely, efficient and accurate information, ensuring safety and reliability of the data. In this way it was possible to consult historical information on the status of inventories and stock levels facilitating decision-making. The access and information management were subject to internal policies to protect information.
Keywords: data base OLAP, multidimensionales, data cubes Mart inventory system data warehouse, invetory System
Para citar este artículo puede uitlizar el siguiente formato:
Luisa Magali Calva Paucar, Manuel Ramírez Pírez y Alexis Cabrera Mondeja (2015): “Diseño de base de datos OLAP para el perfeccionamiento del sistema de inventario de la armada del Ecuador en Guayaquil.”, Revista Observatorio de la Economía Latinoamericana, Ecuador, (febrero 2015). En línea: http://www.eumed.net/cursecon/ecolat/ec/2015/datos-olap.html
INTRODUCCIÓN
La tecnología de procesamiento analítico en línea (OLAP) constituye un elemento importante en el campo de la Inteligencia de Negocios, por cuanto facilita el análisis y consulta rápida de grandes cantidades de datos, permitiendo la toma de decisiones en organizaciones empresariales
El término OLAP fue presentado en 1993 por Edgar F. Codd, de la compañía EF Codd & Associates, para Codd, OLAP es un tipo de procesamiento de datos que se caracteriza, entre otras cosas, por permitir el análisis multidimensional.
De ahí que sea conocido también como análisis multidimensional, donde se organiza la información de acuerdo a los parámetros de consulta que requieran los usuarios, presentando los datos de manera fácil y selectiva, facilitando la búsqueda y manipulación de los datos cuando el usuario realice consultas.
Tomando en cuenta esta idea, para realizar un efectivo análisis multidimensional se requiere definir el concepto de Data Warehouse.
Según para construir un Data Warehouse útil, es necesario saber cómo se va a organizar, administrar, construir, mantener y explotar el mismo. También expresa que “la mayoría de los DW se componen por un conjunto de cubos, dimensiones y jerarquías, que son la esencia de la navegación multidimensional del OLAP.”
En tal sentido Bill Inmon, considerado como el padre del Data Warehousing, sostiene que una bodega de datos o DW “un conjunto de datos integrados, históricos, variantes en el tiempo y unidos alrededor de un tema específico, que es usado por la gerencia para la toma de decisiones” .
Ralph Kimball lo define de la siguiente manera: “Un Data Warehouse es un sistema que extrae, limpia, ajusta y entrega las fuentes de información y solo entonces soporta e implementa herramientas de consulta y análisis con el propósito de tener una correcta toma de decisiones.” Visto así el data warehouse surgió como una solución para los problemas de análisis de gran volumen de información abarcando terreno en el campo organizacional
La construcción de un DW debe pasar por la construcción de un data mart, para ello las organizaciones se basan en algún criterio particular, por ejemplo Inventarios, que puede alimentarse tanto de una base de datos OLTP (data mart independiente), como de un data warehouse (data mart dependiente), o de una base de datos OLAP. La elección de la fuente de datos que alimentará el data mart, dependerá de los datos, requisitos y características que posea cada departamento de la organización.
Una herramienta que proporciona a las organizaciones la oportunidad de analizar la mejor solución para su negocio es la Inteligencia de Negocios (BI) quien además permite conocer sus operaciones históricas, de modo que puedan estudiar el comportamiento de las mismas.
El concepto de BI no es nuevo, Hans Peter Luhn lo menciona en el año 1958 en su artículo: “A Business Intelligence System”, al hacer referencia a “La habilidad de comprender las relaciones de hechos presentados de forma que guíen las acciones hacia una meta deseada”.
Sin embargo, en 1989 Howard Dresden da un concepto más formal sobre el tema: “Inteligencia de Negocios son todos los conceptos y métodos para mejorar la toma de decisiones de negocio mediante el uso de sistemas de soporte basados ??en hechos”
Existen diversos beneficios que esta solución presenta para las organizaciones, según , la Inteligencia de Negocios se caracteriza por permitir fácil Acceso a la información, ser Soporte en la Toma de Decisiones y estar Orientada al Usuario Final.
En la actualidad existe una gran variedad de software de Inteligencia de negocios de código libre y comercial. Un software que ha tenido un alto índice de aceptación en el mercado por su facilidad y por estar desarrollado en código libre es Pentaho.
Pentaho está basado en Java y se encuentra disponible en versión comunitaria (Community) y en versión propietaria (Enterprise), además está conformado por un grupo de herramientas (software) que interactúan entre sí siguiendo el flujo de trabajo, convirtiéndola en una solución completa de inteligencia de negocios; estos software son:
Integración de Datos: herramienta donde se crean los procesos ETL.
Diseñador de Reportes: interfaz de diseño de reportes.
Esquema Workbench: software de diseño de cubos de información.
Tableros de Mando: permite crear y visualizar datos relevantes a través de informes y gráficos interactivos publicados en un navegador.
Minería de datos: herramienta que posee un conjunto de algoritmos (árboles de decisión, redes neurales, entre otros) para descubrir patrones, perfiles y tendencias en los datos.
Servidor de Inteligencia de Negocios y la Consola de Administración, herramientas de configuración, autenticación y administración necesarias para la ejecución de lo explicado anteriormente.
La Integración de Datos de Pentaho, también conocida como KETTLE (Extraction, Transformation, Transportation, and Load Environment), se inició por Matt Casters en el 2001; luego en el 2006 Pentaho lo adquirió, lo renombró y pasó a formar parte de la suite Pentaho. .
Este software está conformado por un conjunto de aplicaciones que le ayudan a realizar el proceso de ETL. Estas aplicaciones son:
SPOON: Es el diseñador gráfico de transformaciones y trabajos del sistema de ETL. PAN: es un motor de transformación de datos que realiza funciones tales como lectura, manipulación, y escritura de datos hacia y desde varias fuentes de datos. Ejecuta los trabajos y transformaciones diseñadas con SPOON. KITCHEN: es un programa que ejecuta las transformaciones y trabajos diseñados por Spoon en XML o en un catálogo de base de datos; los Trabajos se ejecutan automáticamente por lotes, en intervalos regulares.
La combinación de tecnologías como el Data Warehouse, Data Mart, Reportes, Análisis OLAP, Tableros de Mando, Integración de Datos, entre otros, hacen que la Inteligencia de Negocios sea una solución completa, pues mediante herramientas analíticas y gráficas se puede mostrar el resultado como una visión única, persistente, histórica y con información de calidad
Este artículo tiene como propósito el diseño de una Base de Datos OLAP, integrando el Software Pentaho como herramienta de Inteligencia de Negocio. Este diseño es implementado en el sector de materiales de la Armada del Ecuador, en lo adelante DIRABA, quien tiene como propósito equipar, sostener y permitir la operación de la Armada del Ecuador.
Para lograr este objetivo se utiliza el Sistema Logístico (SISLOG), desarrollado en la plataforma de Microsoft Visual Studio .Net 2005 y con la base de datos Informix versión 10; compuesto por módulos administrativos y financieros integrados entre sí, uno de estos módulos es el Sistema de Inventario que es apoyo para el Sector del Material en el control del inventario.
En el Sistema de Inventario se registra el ingreso del material a la Bodega de Tránsito (bodega temporal), generando un “Acta de Inspección” como constancia del material que el proveedor ha entregado, de acuerdo a la “Orden de Compra” emitida por las direcciones navales, además se emite la Solicitud de Pago. Luego el material es sacado de la Bodega de Tránsito con el documento de “Traspaso a Bodega”, almacenando el mismo en una bodega específica.
Para retirar el material de esta bodega específica, la dirección solicitante realiza la “Hoja de Pedido” y el despachador de la bodega, genera la “Nota de Despacho” para hacer el descargo del material almacenado.
El sistema transaccional actual no proporciona información condensada o resumida por años que permita medir la tendencia que ha tenido un material en el transcurso del tiempo, tampoco se puede establecer qué material se ha adquirido en mayor cantidad y a qué direcciones navales se ha entregado no satisfaciendo las necesidades de seguridad de la información, como apoyo para la toma de decisiones y el control eficiente de su inventario.
DESARROLLO
El diseño de la base de datos estará compuesto por tres paquetes que articulados entre sí permitirán la funcionalidad del sistema: Administración: Para establecer los niveles de seguridad de acceso al sistema, tanto para el administrador como para el usuario tomador de decisiones. Publicación, donde el usuario podrá visualizar los reportes y cubos, y otro para la Gestión. Este permitirá autenticar y cambiar contraseña, así como la gestión de cubos y reportes.
Para conectar el Datamart es necesaria la instalación de un servidor de inteligencia de negocios, el cual es el motor de la aplicación que será implementado en DIRABA
La figura 2 muestra los componentes que conforman el sistema desde el punto de vista del diseño de la arquitectura del Sistema, así como el flujo de la información.
Figura 2 Diseño de la Arquitectura del Sistema
El Sistema Fuente, contiene la base de datos del sistema transaccional de Inventario que utiliza DIRABA.
Para la extracción y carga de los datos se utilizan dos proceso ETL, el primero desde el sistema fuente a la base de datos del DataMart; el segundo para la extracción de la Base de Datos del Sistema de Inventario y carga en la Base de Datos de Detalle. En esta última base de datos, la estructura de datos responde a un modelo multidimensional.
En los Servicios OLAP, se implementan en estructuras de Cubos multidimensionales, utilizando los datos almacenados en la base del DataMart. Finalmente, se encuentra la Interfaz de usuario, el cual permite a los usuarios tomadores de decisiones interactuar con el sistema.
El modelo de datos del Sistema de Inventario que se describe a continuación, es la fuente de datos a partir de la cual se empieza a construir el modelo del DataMart. Ver el diagrama entidad-relación en el anexo B1.
Tabla 1 Entidades del modelo de datos fuente
Nombre de Entidad |
Descripción |
informix_adqt_csol |
Cabecera de Solicitud de Compra |
informix_adqt_dsol |
Detalle de Solicitud de Compra |
informix_adqt_cord |
Cabecera de Orden de Compra |
informix_adqt_dord |
Detalle de Orden de Compra |
informix_invt_cabe_pedi |
Cabecera de Pedido |
informix_invt_deta_pedi |
Detalle de Pedido |
informix_invt_cmov_s |
Cabecera de Despacho |
informix_invt_dmov_s |
Detalle de Despacho |
informix_Invm_bode_s |
Bodegas |
informix _idqm_prov |
Proveedores |
informix _invm_item |
Materiales |
informix _invm_unid_s |
Unidades |
informix _rhum_locd |
Direcciones Navales |
informix _rhum_desc |
Siglas de Direcciones Navales |
El modelo de la base de datos de Detalle es igual a la base de datos fuente. Los nombres de las entidades comienzan con el prefijo tq_ y los atributos de las entidades se mantendrán igual a la del modelo fuente para facilitar la administración y mantenimiento de las bases. Ver el diagrama entidad-relación en el anexo B2.
Tabla Entidades del modelo de datos Detalle
Nombre de Entidad de Base de Datos Fuente |
Nombre de Entidad de Base de Datos Detalle |
Descripción |
informix_adqt_csol |
tq_adqt_csol |
Cabecera de Solicitud de Compra |
informix_adqt_dsol |
tq_adqt_dsol |
Detalle de Solicitud de Compra |
informix_adqt_cord |
tq_adqt_cord |
Cabecera de Orden de Compra |
informix_adqt_dord |
tq_adqt_dord |
Detalle de Orden de Compra |
informix_invt_cabe_pedi |
tq_invt_cabe_pedi |
Cabecera de Pedido |
informix_invt_deta_pedi |
tq_invt_deta_pedi |
Detalle de Pedido |
informix_invt_cmov_s |
tq_invt_cmov |
Cabecera de Despacho |
informix_invt_dmov_s |
tq_invt_dmov |
Detalle de Despacho |
informix_Invm_bode_s |
tq_Invm_bode |
Bodegas |
informix_adqm_prov |
tq_proveedor |
Proveedores |
informix_invm_item |
tq_invm_item |
Materiales Catalogados |
informix_invm_unid_s |
tq_invm_unid |
Unidades |
informix_rhum_locd |
tq_direccion_naval |
Localidad y siglas de las Direcciones Navales |
informix_rhum_desc |
La base de datos del DataMart está compuesta por tablas denominadas Dimensiones, donde sus nombres tendrán el prefijo dim_, y la tabla de Hechos, tendrá el prefijo fac_.
Tabla 3 Entidades del modelo de datos DataMart
Nombre de Entidad |
Descripción |
dim_direccion_naval |
Direcciones Navales |
dim_material |
Material del inventario |
dim_tiempo |
Tiempo (día, mes, trimestre, semestre, año) |
dim_tipo_compra |
Tipo de compra realizada a través del portal de compras públicas |
dim_unidad |
Unidades del material |
fac_compras |
Contiene las medidas relacionadas al precio, cantidad por tipo de compras y cantidad de los materiales comprados, además de la medida de fechas que sirve para que los usuarios puedan filtrar sus resultados por mes, semestre o año. |
Procesos ETL
Las tablas 5 y 6 muestran las siguientes especificaciones del proceso ETL:
Desde Base de Datos Fuente hacia la Base de Datos Detalle.
Desde Base de Datos Detalle a la Base de Datos del DataMart.
Tabla 5 Especificación del ETL_B_Fuente_B_Detalle
ETL_BFuente_BDetalle |
|
Fuente |
B_Fuente |
Destino |
B_Detalle |
Características de las Transferencias |
Reemplazar datos existentes |
Transferir todos los objetos |
|
Calendario de ejecución |
Diariamente |
Observaciones |
Se transfieren todas las tablas una vez al día ya que son pocas tablas. Además, el proceso se ejecuta en horario de madrugada lo que no implica un costo en tiempo determinante en la transferencia, manteniendo los datos en la base de Detalle actualizados con una frecuencia razonable para satisfacer los requerimientos actuales y futuros. |
Tabla 6 Especificación del ETL_B_Fuente_B_Detalle
ETL_BDetalle_BDatamart |
|||
Fuente |
B_Detalle |
||
Destino |
B_Datamart |
||
Transferencias |
Tablas de Base de Detalle |
Tablas de Base de DataMart |
|
tq_direccion_naval |
dim_direccion_naval |
||
tq_invm_item |
dim_material |
||
tq_adqt_cord, tq_adqt_dord |
dim_tipo_compra |
||
tq_invm_unid |
dim_unidad |
||
tq_proveedor |
dim_proveedor |
||
tq_adqt_cord, tq_adqt_dord, tq_invm_item, tq_direccion_naval |
fac_compras |
||
tq_invt_cmov, tq_invt_dmov, tq_invm_item, tq_invt_cabe_pedi, tq_direccion_naval |
fac_despacho |
||
tq_adqt_csol, tq_adqt_dsol, tq_invm_item, tq_direccion_naval |
fac_solicitud |
||
Características de las Transferencias |
Reemplazar datos existentes |
||
Transferir todas las columnas |
|||
Calendario de ejecución |
Diariamente |
||
Observaciones |
Se transfieren todas las tablas una vez al día ya que son pocas tablas. Además, el proceso se ejecuta en horario de madrugada lo que no implica un costo en tiempo determinante en la transferencia, manteniendo los datos en la base de DataMart actualizados con una frecuencia razonable para satisfacer los requerimientos actuales y futuros. |
En esta sección se muestran las especificaciones de diseño de los cubos y la conexión a la base de datos B_DataMart, a través de la cual los cubos accederán a los datos.
Tabla 7 Conexión de Servicios OLAP
Fuente de Datos para los Cubos |
|
Nombre |
cnx_datamart |
Proveedor |
Esquema WorkBench de Pentaho |
Motor de base de datos |
PostgreSQl 9.3 |
Fuente de base de datos |
B_DataMart |
Tabla 8 Especificación de Cubo de inventario
Cubo |
Información del Material Comprado |
|||
Fuente de datos |
B_DataMart |
|||
Tablas fuente |
dim_direccion_naval, dim_tiempo, dim_material, dim_proveedor, dim_tipo_compra, fac_compras |
|||
Dimensiones |
Nombre |
Nombre Nivel |
Tabla fuente |
|
Tiempo |
Tiempo |
dim_tiempo |
||
DireccionNaval |
DireccionNaval |
dim_direccion_naval |
||
Material |
Material |
dim_material |
||
|
TipoCompra |
TipoCompra |
dim_tipo_compra |
|
|
Proveedor |
Proveedor |
dim_proveedor |
|
Medidas |
Nombre |
Campo fuente |
Función |
|
Cantidad |
com_cantidad |
sumar |
||
|
PrecioCompra |
com_precio |
sumar |
|
|
Cantidad_TipoCompras |
com_cant_portal |
sumar |
|
Miembros calculados |
Nombre |
Función de cálculo |
||
-- |
-- |
|||
Tipo de almacenamiento |
ROLAP |
|||
Lectura/Escritura |
Lectura |
|||
Roles |
Administrador del sistema |
Tabla 9 Especificación de Cubo de material despachado
Cubo |
Información del Material Despachado |
|||
Fuente de datos |
B_DataMart |
|||
Tablas fuente |
dim_direccion_naval, dim_tiempo, dim_material, fac_despachado |
|||
Dimensiones |
Nombre |
Nombre Nivel |
Tabla fuente |
|
Tiempo |
Tiempo |
dim_tiempo |
||
DireccionNaval |
DireccionNaval |
dim_direccion_naval |
||
Material |
Material |
dim_material |
||
Medidas |
Nombre |
Campo fuente |
Función |
|
Cantidad |
Cantidad despachada |
sumar |
||
Miembros calculados |
Nombre |
Función de cálculo |
||
-- |
-- |
|||
Tipo de almacenamiento |
ROLAP |
|||
Lectura/Escritura |
Lectura |
|||
Roles |
Administrador del sistema |
Tabla 10 Especificación de Cubo de material solicitado
Cubo |
Información del Material Solicitado |
|||
Fuente de datos |
B_DataMart |
|||
Tablas fuente |
dim_direccion_naval, dim_tiempo, dim_material, fac_solicitud |
|||
Dimensiones |
Nombre |
Nombre Nivel |
Tabla fuente |
|
Tiempo |
Tiempo |
dim_tiempo |
||
DireccionNaval |
DireccionNaval |
dim_direccion_naval |
||
Material |
Material |
dim_material |
||
Medidas |
Nombre |
Campo fuente |
Función |
|
Cantidad |
Cantidad solicitada |
sumar |
||
Miembros calculados |
Nombre |
Función de cálculo |
||
-- |
-- |
|||
Tipo de almacenamiento |
ROLAP |
|||
Lectura/Escritura |
Lectura |
|||
Roles |
Administrador del sistema |
La interfaz de usuario se implementa mediante la aplicación de Pentaho, denominada Servidor de Inteligencia de Negocios, el cual provee la visualización de los diferentes cubos y reportes para facilitar el análisis según los requerimientos especificados anteriormente.
Asimismo, cada uno de los tipos de usuarios definidos debe ser creado en la Consola de Administración de Pentaho, aplicación que ayudará a la gestión de permisos y accesos de los usuarios.
El modelo de implementación denota la implementación del sistema en términos de componentes y subsistemas de implementación. Describe cómo se organizan los componentes de acuerdo con los mecanismos de estructuración, y modulación disponibles en el entorno de la implementación y en el lenguaje o lenguajes de programación utilizados, y cómo dependen los componentes unos de otros.
Figura 3 Diagrama de Despliegue
Teniendo en cuenta que los componentes que se utilizan para el desarrollo del sistema son personalizaciones de las aplicaciones de Pentaho y fundamentalmente considerando el diseño de lo que se pretende alcanzar con el sistema propuesto, se muestran algunas pantallas de dichas aplicaciones en donde se visualiza la personalización propuesta.
En esta sección se muestra el proceso ETL construido en la aplicación SPOON; incluye los procesos creados para extraer la data de la base de datos B_Fuente y cargarla en la base de datos B_Detalle y esta a su vez alimentar la base de datos
Figura 4 Proceso ETL para llenar B_Detalle
La figura 23 muestra la aplicación donde se construye los cubos, se definen las dimensiones, medidas y toda la configuración necesaria para implementar un cubo en Pentaho.
La figura 24 muestra la página de inicio de la aplicación Pentaho. Al ingresar el usuario y contraseña respectivos, el usuario podrá navegar por todos los cubos y reportes que se encuentren publicados.
Figura 6 Ingreso al sistema
RESULTADOS
A partir de los reportes generados por el sistema se pudo constatar de forma dinámica las compras hechas en diferentes periodos de tiempo La figura 6 muestra el análisis de datos de las compras por Proveedor y por año. Se puede además modificar la visión de los datos que el usuario desee, aumentando o disminuyendo las medidas del cubo.
Figura 6 Cubo de Compras por Proveedor
De igual forma el sistema permite generar reportes de materiales de mayor rotación que el usuario puede consultar, entre ellos los materiales solicitados, comprados y despachados
La base de datos OLAP permitió a la Armada del Ecuador contar con una herramienta informática para el análisis, manejo y gestión de su inventario, mediante cubos multidimensionales de información a través del software Pentaho.
El sistema permitió consultar información tanto actual como histórica de la situación de los inventarios, logrando determinar los niveles de stocks junto con la ayuda de reportes como el de Rotación de Materiales facilitando la toma de decisiones de los materiales de mayor demanda.
Con el diseño de los cubos se pudo mostrar los materiales solicitados, comprados y despachados, con lo cual la Institución pudo realizar, determinar y conocer la situación real de su inventario, permitiendo tomar las medidas necesarias a partir del conocimiento de sus niveles de stock.
La estructura seguida en el diseño de la base de datos OLAP garantizó implementar la seguridad y confiabilidad de los datos, eliminando los riesgos de que personal no autorizado obtengan información clasificada.
Anexo B1-Diagrama Entidad-Relación de Base Fu
Publicado: Abril de 2015Los comentarios al artículo son responsabilidad exclusiva del remitente.
Si necesita algún tipo de información referente al articulo póngase en contacto con el email suministrado por el autor del articulo al principio del mismo.
Un comentario no es mas que un simple medio para comunicar su opinion a futuros lectores.
El autor del articulo no esta obligado a responder o leer comentarios referentes al articulo.
Al escribir un comentario, debe tener en cuenta que recibirá notificaciones cada vez que alguien escriba un nuevo comentario en este articulo.
Eumed.net se reserva el derecho de eliminar aquellos comentarios que tengan lenguaje inadecuado o agresivo.
Si usted considera que algún comentario de esta página es inadecuado o agresivo, por favor,pulse aqui.