martes, 6 de julio de 2010

data warehouse

Universidad Austral de Chile
Facultad de Ciencias Económicas y Administrativas
Escuela de Ingeniería Comercial
Sistemas de Información Empresarial



INVESTIGACIÓN
DATA WAREHOUSE






Integrantes: Irma Mellado Pulquillanca
Carolina Sepúlveda Salinas
Carlos Soto Cárcamo
Profesor: Cristián Salazar.
Ayudante: Jose Luis Carrasco
Asignatura: Sistemas de Información.




Valdivia, Domingo 06 de Junio de 2010.

INTRODUCCIÓN
A medida que evolucionan las tecnologías y el mundo se vuelve cada vez mas globalizado, son posibles realizar mas actividades que facilitan de una forma u otra el funcionamiento de las organizaciones, no tan solo en el área de las comunicaciones, sino que en general, las empresas en su totalidad representan diferentes niveles de uso de sistemas de información.

El Data Warehouse, viene a resolver los problemas comunes que se presentaban con los simples programas de almacenamiento de datos. Ahora es posible no solo adquirir información y almacenarla, sino que realizar consultas y modificar los datos, es decir, integrado, no volátil y variable en el tiempo.

El objetivo principal del Data Warehouse es lograr que cualquier departamento pueda acceder a información de cualquiera de las demás áreas mediante un único medio.

Business Inteligence:
Según el Data Warehouse Institute, BI es la combinación de tecnología, herramientas y procesos que me permiten transformar datos almacenados en información. Luego, la Información en conocimiento y finalmente el conocimiento dirigirlo a un plan o una estrategia comercial. La inteligencia de negocios debe ser parte de la estrategia empresarial, esta le permite optimizar la utilización de recursos, monitorear el cumplimiento de los objetivos de la empresa y la capacidad de tomar buenas decisiones para así obtener mejores resultados.

Beneficios de la Inteligencia de Negocios.
Maneja el crecimiento. Permite agilizar los procesos para enfrentar los cambios y las necesidades puntajes de la empresa.
Control de Costos. Permite tener la capacidad para medir los gastos, y obtener un nivel de detalle que identifique la línea de negocio, producto, centro de costo, entre otras.
Entendimiento de los clientes. Ventas cruzadas, ventas incrementales, retención de clientes, medición de la efectividad de campañas e idenficar los patrones de compra y/o comportamiento de los clientes son algunas de las aplicaciones de la Inteligencia de Negocios en esta materia.
Indicadores de Gestión. Los indicadores de desempeño permiten representar medidas enfocadas al desempeño organizacional con la capacidad de representar la estrategia organizacional en objetivos. Los indicadores permiten tener una visión global de la empresa, con la capacidad de dirigir la organización en la dirección correcta.

Ejemplo:
Wal-Mart una correlación estadísticamente significativa entre las compras de pañales y cerveza: los viernes por la tarde, los hombres entre 25 y 35 años que compraban cerveza también compraban pañales.

Después de un análisis detallado, este resultado se explica de forma bastante curiosa. Como los pañales son bastante voluminosos, las mujeres habitualmente mandaban a sus maridos a comprarlos. Los maridos y padres, jóvenes entre 25 y 35 años (rango medio de edad para tener niños tan pequeños), solían ir a la compra los viernes, algo reticentes, en el último momento posible. Estos pobres padres, con una vida social no demasiado boyante, a la vez que compraban pañales para sus bebés, aprovechaban para comprar cerveza, ya que no podrían salir a tomarlas al pub.

Enterprise resourse planning (ERP)
Sistemas de gestión de información que integran y automatizan muchas de las prácticas de negocio asociadas con los aspectos operativos o productivos de una empresa.

Los sistemas ERP típicamente manejan la producción, logística, distribución, inventario, envíos, facturas y contabilidad de la compañía. Sin embargo, la Planificación de Recursos Empresariales o el software ERP puede intervenir en el control de muchas actividades de negocios como ventas, entregas, pagos, producción, administración de inventarios, calidad de administración y la administración de recursos humanos.

Los objetivos principales de los sistemas ERP son:
•Optimización de los procesos empresariales.
•Acceso a toda la información de forma confiable, precisa y oportuna (integridad de datos).
•La posibilidad de compartir información entre todos los componentes de la organización.
•Eliminación de datos y operaciones innecesarias de reingeniería.

El propósito fundamental de un ERP es otorgar apoyo a los clientes del negocio, tiempos rápidos de respuesta a sus problemas, así como un eficiente manejo de información que permita la toma oportuna de decisiones y disminución de los costos totales de operación.
Las características que distinguen a un ERP de cualquier otro software empresarial, es que deben de ser sistemas integrales (permiten controlar los diferentes procesos entendiendo que todos los departamentos de una empresa se relacionan entre sí), con modularidad (la funcionalidad se encuentra dividida en módulos, los que pueden instalarse de acuerdo con los requerimientos del cliente) y adaptables (se adaptan a la empresa)
Otras características destacables de los sistemas ERP son:
•Base de datos centralizada.
•Los componentes del ERP interactúan entre sí consolidando todas las operaciones.
•En un sistema ERP los datos se ingresan sólo una vez y deben ser consistentes, completos y comunes.
•Las empresas que lo implanten suelen tener que modificar alguno de sus procesos para alinearlos con los del sistema ERP. Este proceso se conoce como Reingeniería de Procesos, aunque no siempre es necesario.
•Aunque el ERP pueda tener menús modulares configurables según los roles de cada usuario, es un todo. Esto significa: es un único programa (con multiplicidad de bibliotecas, eso sí) con acceso a una base de datos centralizada. No debemos confundir en este punto la definición de un ERP con la de una suite de gestión.
•La tendencia actual es a ofrecer aplicaciones especializadas para determinadas empresas. Es lo que se denomina versiones sectoriales o aplicaciones sectoriales especialmente indicadas o preparadas para determinados procesos de negocio de un sector (los más utilizados).

Ejemplo (Movex)

El proceso empieza con la recepción de un pedido por teléfono (Podría ser por EDI o desde la Web), al introducir los datos, Movex nos informa de que se ha rebasado el crédito, informamos al cliente y acordamos que este pedido se servirá contra-reembolso, lo reflejamos en el pedido.

El primer artículo está en existencias por lo que lo asignamos a este pedido al momento, el segundo corresponde a un artículo de los denominados “configurados”, este tipo de artículo genera las instrucciones de fabricación según las características que quiere el cliente (tamaño, color, etc) sin necesidad de dar un nuevo código cada vez, la orden de fabricación quedará a punto de imprimir. El tercer artículo es un artículo de compra-venta y no tenemos existencias, Movex nos propone generar un pedido de compra, declinamos esta propuesta para poder realizar un pedido conjunto al proveedor a final de semana. El pedido queda listo para ser servido cuando todo el material este disponible (Así lo deseamos).

Debido a la introducción de este pedido, es posible que los niveles de existencias hayan motivado alguna propuesta de compra de materia prima o fabricación de semi-elaborado. Observamos que existe una propuesta de fabricación de 1000 unidades, desde allí mismo consultamos la disponibilidad de materiales, en la fecha requerida vamos a disponer de todos los materiales. Consultamos también la disponibilidad de capacidad en horas por grupo de planificación, existe una situación de saturación a 2 semanas vista, no sabemos que hacer, atrasar el pedido o gestionar con producción un turno especial en esa máquina. Optamos por retrasar una semana la fabricación. Finalmente convertimos automáticamente la propuesta en orden de fabricación. En Comercial podrán mandar la confirmación del pedido con la nueva fecha de entrega.

En las propuestas de compra encontramos todo lo que debemos comprar, convertimos varias propuestas de un proveedor en un solo pedido. Los precios y condiciones se recuperan automáticamente. Un indicador nos avisa de que debemos renovar un acuerdo de un artículo con el proveedor. Si existen errores estos son indicados. Si algún artículo requiere de control de calidad, puede indicarse.

Las instrucciones de fabricación salen con toda la información necesaria para evitar errores. Los operarios reportan, gracias al código de barras de los boletines de trabajo, el inicio, el final y la cantidad producida en cada operación. Esta información se convierte en coste, coste que es comparado con el estándar y nos alerta de desviaciones. Esta información es la base para abonar una prima de producción a los operarios. En cada fichada, los materiales, que así se haya determinado, son descontados. En el diagrama de Gant y planes de trabajo vemos en todo momento la situación real de la producción. Un rápido vistazo a la pantalla nos permite conocer aquellas operaciones que están listas para ser efectuadas. La unidad de co-clasificación nos permite juntar varias ordenes de fabricación para evitar cambios innecesarios de útiles, cambios de materias primas, etc.

Las facturas que recibimos se concilian con las entregas de los proveedores, en función del tipo de producto, o clase, etc, el sistema nos propone la cuenta contable a la que se cargará la compra. La gestión de bancos se efectúa mediante el envío de archivos, evitando errores manuales. Las facturas a clientes se contabilizan automáticamente. Los vencimientos se calculan automáticamente. Se contemplan los casos en que el cliente nos exige facturar un día determinado. El sistema nos permite establecer la política de seguimiento de cobros a realizar para cada cliente.
En este ejemplo se muestran funcionalidades básicas, con Movex existen ilimitadas posibilidades cómo unidades de conversión, asociar nombres populares al artículo, trabajo en planta “Just In Time”, rutas alternativas de trabajo, gestión automatizada de múltiples almacenes con ubicaciones, controles de calidad, etc ....


Extract, Transform and Load (ETL)
Proceso que permite a las organizaciones mover datos desde múltiples fuentes, reformateados y limpiarlos, y cargarlos en otra base de datos. Los procesos ETL también se pueden utilizar para la integración con sistemas heredados.

Etapas
Extraer: Consiste en extraer los datos desde los sistemas de origen. La mayoría de los proyectos de almacenamiento de datos fusionan datos provenientes de diferentes sistemas de origen. Cada sistema separado puede usar una organización diferente de los datos o formatos distintos. Los formatos de las fuentes normalmente se encuentran en bases de datos relacionales o ficheros planos, pero pueden incluir bases de datos no relacionales u otras estructuras diferentes. La extracción convierte los datos a un formato preparado para iniciar el proceso de transformación.
Una parte intrínseca del proceso de extracción es la de analizar los datos extraídos, de lo que resulta un chequeo que verifica si los datos cumplen la pauta o estructura que se esperaba. De no ser así los datos son rechazados.
Un requerimiento importante que se debe exigir a la tarea de extracción es que ésta cause un impacto mínimo en el sistema origen. Si los datos a extraer son muchos, el sistema de origen se podría ralentizar e incluso colapsar, provocando que éste no pueda utilizarse con normalidad para su uso cotidiano. Por esta razón, en sistemas grandes las operaciones de extracción suelen programarse en horarios o días donde este impacto sea nulo o mínimo.
Transformación: Aplica una serie de reglas de negocio o funciones sobre los datos extraídos para convertirlos en datos que serán cargados. Algunas fuentes de datos requerirán alguna pequeña manipulación de los datos. No obstante en otros casos pueden ser necesarias aplicar algunas de las siguientes transformaciones:
•Seleccionar sólo ciertas columnas para su carga (por ejemplo, que las columnas con valores nulos no se carguen).
•Traducir códigos (por ejemplo, si la fuente almacena una "H" para Hombre y "M" para Mujer pero el destino tiene que guardar "1" para Hombre y "2" para Mujer).
•Codificar valores libres (por ejemplo, convertir "Hombre" en "H" o "Sr" en "1").
•Obtener nuevos valores calculados (por ejemplo, total_venta = cantidad * precio).
•Unir datos de múltiples fuentes (por ejemplo, búsquedas, combinaciones, etc.).
•Calcular totales de múltiples filas de datos (por ejemplo, ventas totales de cada región).
•Generación de campos clave en el destino.
•Transponer o pivotar (girando múltiples columnas en filas o viceversa).
•Dividir una columna en varias (por ejemplo, columna "Nombre: García, Miguel"; pasar a dos columnas "Nombre: Miguel" y "Apellido: García").
•La aplicación de cualquier forma, simple o compleja, de validación de datos, y la consiguiente aplicación de la acción que en cada caso se requiera:
o Datos OK: Entregar datos a la siguiente etapa (Carga).
o Datos erróneos: Ejecutar políticas de tratamiento de excepciones (por ejemplo, rechazar el registro completo, dar al campo erróneo un valor nulo o un valor centinela).
Carga: Los datos de la fase anterior son cargados en el sistema de destino. Dependiendo de los requerimientos de la organización, este proceso puede abarcar una amplia variedad de acciones diferentes. En algunas bases de datos se sobrescribe la información antigua con nuevos datos. Los data warehouse mantienen un historial de los registros de manera que se pueda hacer una auditoría de los mismos y disponer de un rastro de toda la historia de un valor a lo largo del tiempo.
Existen dos formas básicas de desarrollar el proceso de carga:
Acumulación simple: La acumulación simple es la más sencilla y común, y consiste en realizar un resumen de todas las transacciones comprendidas en el período de tiempo seleccionado y transportar el resultado como una única transacción hacia el data warehouse, almacenando un valor calculado que consistirá típicamente en un sumatorio o un promedio de la magnitud considerada.
Rolling: El proceso de Rolling por su parte, se aplica en los casos en que se opta por mantener varios niveles de granularidad. Para ello se almacena información resumida a distintos niveles, correspondientes a distintas agrupaciones de la unidad de tiempo o diferentes niveles jerárquicos en alguna o varias de las dimensiones de la magnitud almacenada (por ejemplo, totales diarios, totales semanales, totales mensuales, etc.).

Ejemplo:
Procesos en los que se puede utilizar un ETL
• Los volúmenes de datos en el sistema se incrementan de forma exponencial, y se deben procesar y granular grandes cantidades de datos (productos vendidos, llamadas telefónicas, transacciones bancarias) para su posterior auditoría.
• Se fusionan empresas y se debe hacer un matching de los datos de los distintos sistemas legacy para generar una única salida de datos equivalentes.


Interface Web
Una interfaz es una conexión física y funcional entre dos aparatos o sistemas independientes. Generalizando esta definición, dados dos sistemas cualesquiera que se deben comunicar entre ellos la interfaz será el mecanismo, entorno o herramienta que hace posible dicha comunicación.
Las interfaces web son interfaces gráficas de usuario con unos elementos comunes de presentación y navegación
Este tipo de interfaces deben servir de intermediarias entre unos usuarios genéricos, no acostumbrados generalmente al uso de aplicaciones informáticas, y unos sistemas de información y procesos transaccionales que corren por debajo, debiendo posibilitar la localización de la información deseada, el entendimiento claro de las funcionalidades ofrecidas, la realización práctica de tareas específicas por parte de los usuarios y la navegación intuitiva por las diferentes páginas que forman el sitio web.

Ejemplo:
El website de Telefonica del Sur permite a los usuarios de una manera amigable contratar sus servicios.


Interface Cliente-Servidor
Cliente: Es el que inicia un requerimiento de servicio. El requerimiento inicial puede convertirse en múltiples requerimientos de trabajo a través de redes LAN o WAN. La ubicación de los datos o de las aplicaciones es totalmente transparente para el cliente.
Servidor: Es cualquier recurso de cómputo dedicado a responder a los requerimientos del cliente. Los servidores pueden estar conectados a los clientes a través de redes LANs o WANs, para proveer de múltiples servicios a los clientes y ciudadanos tales como impresión, acceso a bases de datos, fax, procesamiento de imágenes, etc.
Por lo tanto, la Interfaz Cliente-Servidor es la conexión entre ambas partes.

Ejemplo:
La pantalla que visualizan los usuarios de una organización para ingresas, consultar y administrar datos está diseñada según las necesidades del usuario y, eventualmente, cada usuario, según su responsabilidad tendrá una pantalla diferente.

Modelos de Datos:

ER (Entidad Relación): Es una de las herramientas mas utilizadas en una base de datos de un sistema de información, el cual pretende mostrar a través de un diagrama los objetos que pertenecen a una base de datos. En este modelo se parte de una situación real en la cual se definen:
a) Entidades: corresponden a objetos sobre el cual se almacena la información, los datos.(ejemplo: una persona).
b) Atributos: son datos o características que define el objeto ( para la persona serían por ejemplo el RUT, nombre, apellidos, dirección) entre los atributos existirá uno o más y los que no se repitan se denominan claves que en en este caso podría ser el RUT y en cada entidad debe existir al menos una clave.
c) Relaciones: asociaciones entre entidades, que refleja las interacciones existentes entre ellas, puede ser una a una, una entidad con muchas de otra, o que dos entidades de una relación pueden estar ambas asociadas con muchas.
ejemplo:

UML (Lenguaje de Modelado Unificado): es un tipo de lenguaje el cual tiene como finalidad describir un modelo incluyendo los procesos, las funciones del sistema, expresiones de lenguaje de programación de una base de datos. Es un conjunto de notaciones y diagramas estándar para modelar sistemas orientados a objetos, y describe lo que estos diagramas y símbolos significan. UML se puede usar para modelar distintos tipos de sistemas: sistemas de software, sistemas de hardware,y organizaciones del mundo real. UML ofrece nueve diagramas en los cuales modelar sistemas.
• Diagramas de Casos de Uso para modelar los procesos ’business’.
• Diagramas de Secuencia para modelar el paso de mensajes entre objetos.
• Diagramas de Colaboración para modelar interacciones entre objetos.
• Diagramas de Estado para modelar el comportamiento de los objetos en el sistema.
• Diagramas de Actividad para modelar el comportamiento de los Casos de Uso, objetos u operaciones.
• Diagramas de Clases para modelar la estructura estática de las clases en el sistema.
• Diagramas de Objetos para modelar la estructura estática de los objetos en el sistema.
• Diagramas de Componentes para modelar componentes.
• Diagramas de Implementación para modelar la distribución del sistema.
UML es una consolidación de muchas de las notaciones y conceptos más usadas orientados a objetos.
Ejemplo:

OO (Orientado a Objetos): El modelo de bases de datos orientado a objetos es una adaptación a los sistemas de bases de datos. Se basa en el concepto donde se encuentran los datos y código que opera sobre éstos en un objeto. Los objetos estructurados se agrupan en clases, el conjunto de clases esta estructurado en sub y superclases basado en una extensión del concepto del modelo Entidad - Relación. Puesto que el valor de un dato en un objeto también es un objeto, es posible representar el contenido del objeto dando como resultado un objeto compuesto. El propósito de los sistemas de bases de datos es la gestión de grandes cantidades de información.
Un objeto tiene asociado:
• un conjunto de variables que contienen los datos del objeto. El valor de cada variable es un objeto.
• Un conjunto de mensajes a los que el objeto responde.
• Un método, que es un trozo de código para implementar cada mensaje, el cual devuelve un valor como respuesta al mensaje, se refiere al paso de solicitudes entre objetos sin tener en cuenta detalles específicos de implementación.
Ejemplo:


FASES DE IMPLANTACIÓN DE UN DATA WAREHOUSE

Cuatro fases, según la metodología propuesta por SAS Institute.
•Definición de los objetivos y definición de los requerimientos de información
•Diseño y modelización
•Implementación
•Revisión

Definición de los objetivos y requerimientos de información: se relaciona con la finalidad de lo que se quiere conseguir con la implementación del Data Warehouse, principalmente con el acceso a información actualizada, de las ventas por ejemplo. De esta forma se conocerá que vendedor realizó la venta, en que sucursal, etc. Aquí se determinan requisitos, parámetros y las fuentes tanto internas como externas de la organización que aportarán datos.


Diseño y modelización: aqui se determinará tanto los tipos de datos que estaran relacionados, el cómo están relacionados, como los aspectos importantes que deben estar presente llamadas entidades, para que finalmente las relaciones sean coherentes. El modelo lógico se traducirá posteriormente en el modelo físico de datos que será recopilada en el Data Warehouse. La mayor parte estas definiciones de los datos del Data Warehouse estarán almacenadas en los metadatos y formarán parte del mismo.

Para lograr efectivamente la implementación se deben seguir ciertas etapas explicadas a continuación:

•Extracción de los datos del nivel operacional y transformación de los mismos.
•Carga de los datos validados en el Data Warehouse. Esta carga deberá ser planificada con anticipación para facilitar la adaptación y modificaran las fallas detectadas durante el diseño.
•Explotación del Data Warehouse mediante diversas técnicas dependiendo del tipo de aplicación que se de a los datos:
Visualización de la información
Query & Reporting
On-line analytical processing (OLAP)
Executive Information System (EIS) ó Información de gestión, etc.
La información necesaria para mantener el control sobre los datos se almacena en los metadatos técnicos (cuando describen las características físicas de los datos) y de negocio (cuando describen cómo se usan esos datos). Dichos metadatos deberán ser accesibles por los usuarios finales que permitirán en todo momento tanto al usuario, como al administrador además la posibilidad de modificar los datos según varíen las necesidades de información.
Con la finalización de esta fase se obtendrá un Data Warehouse disponible para su uso por parte de los usuarios finales y el departamento de informática.


Moldelos de Data Warehouse.
Star Schema: Consiste en estructurar la información en procesos, vistas y métricas. El nombe viene del parecido físico con una estrella. La visión que entrega es multidimensional de un proceso, con diferentes uniones de foreing keys
Consiste en una tabla de hechos (lo que en los libros encontraremos como fact table) en el centro para el hecho objeto de análisis y una o varias tablas de dimensión (dimension table) por cada dimensión de análisis que participa de la descripción de ese hecho. En la tabla de hecho encontramos los atributos destinados a medir (cuantificar) el hecho: sus métricas. Mientras, en las tablas de dimensión, los atributos se destinan a elementos de nivel (que representan los distintos niveles de las jerarquías de dimensión) y a atributos de dimensión (encargados de la descripción de estos elementos de nivel). Las tablas de dimensión se encuentran además totalmente denormalizadas, es decir, toda la información referente a una dimensión se almacena en la misma tabla.


Snowflake Schema: Es un Star Schema con las jerarquías mostradas explícitamente. Genera varias relaciones de dimensión que corresponden a una jerarquía, representada en forma normalizada, a partir de relaciones que incluyen a la jerarquía o a parte de ésta. Además, hace que estas relaciones se conecten a la relación correspondiente al nivel más bajo de la jerarquía con una clave externa.



Área de Negocio: Red de Salud
Tener un completo control de los pacientes que ingresan, con que frecuencia, en qué momentos son mas o menos, donde ingresan, por qué motivos, en qué áreas, etc.



CONCLUSION
La implementación de un sistemas Data Warehouse puede significar un una herramienta eficaz de estrategias para administrar empresas en la búsqueda de resultados positivos y de ganancias, basado en que los datos pueden ser modificados durante los procesos, para corregir los errores, y trabajar con mayor eficiencia. Si bien el adquirir este tipo de sistemas requiere de complejidad o de gran capital financiero en ocasiones, sin mencionar que su mantenimiento requiere de la misma complejidad, pero si es utilizada de la forma mas correcta, es seguro que los resultados serán un apoyo en las funciones organizacionales.

En resumen podemos mencionar que el modelo dimensional brinda una forma sencilla al representar datos para conseguir perfeccionar el tiempo de consultas a la base de datos.

No hay comentarios:

Publicar un comentario