inteligencia de negocios

27
Inteligencia de Negocios Documentation Release 1 LANXE February 26, 2013

Upload: hugo-garcia

Post on 28-Sep-2015

7 views

Category:

Documents


1 download

DESCRIPTION

Inteligencia de negocios a nivel software

TRANSCRIPT

  • Inteligencia de NegociosDocumentation

    Release 1

    LANXE

    February 26, 2013

  • CONTENTS

    1 Introduccin a la Inteligencia de Negocios 31.1 Conceptos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Tablas del Data Warehouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    2 Introduccin a PostgreSQL 92.1 Clientes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2 Conectarnos a una base de datos con psql . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.3 El prompt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.4 Listar tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.5 Ejecutar una consuta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.6 El search_path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.7 Solicitar ayuda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    3 Repaso de normalizacin 133.1 Conceptos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    4 La base de datos Musicbrainz 174.1 Esquema General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.2 Tablas principales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    5 Indices and tables 21

    Index 23

    i

  • ii

  • Inteligencia de Negocios Documentation, Release 1

    Contents:

    CONTENTS 1

  • Inteligencia de Negocios Documentation, Release 1

    2 CONTENTS

  • CHAPTER

    ONE

    INTRODUCCIN A LA INTELIGENCIADE NEGOCIOS

    1.1 Conceptos

    1.1.1 Inteligencia de Negocios

    Inteligencia de Negocios La inteligencia de negocios es un conjunto de metodologas, procesos, arquitecturas ytecnologas que transforman datos crudos en informacin til y significativa. El objetivo principal de un sistemade BI es promover la toma de decisiones basadas en hechos.

    Est basada en el reconocimiento, anlisis y descubrimiento de los datos del negocio.

    La tecnologa BI proporciona vistas actuales, histricas y predictivas acerca de las actividades de la empresa oinstitucin.

    Las funciones comunes de la inteligencia de negocios incluyen:

    reportes

    procesamiento analtico en lnea

    minera de datos

    alertas

    otros tipos de anlisis

    Dos mundos de informacin

    Usuario de un Sistema Transaccional Usuario de un Data WarehouseMueve las ruedas de la organizacin Observan las ruedas de la organizacin moverseTrabaja con un registro a la vez Sus preguntas involucran que una gran cantidad de registros sean sintetizadosRealiza las mismas tareas operacio- Las preguntas que hacen cambian constantementenales repetidamente

    Ejemplos de tareas del usuario del sistema transaccional

    Toma rdenes de clientes

    Da de alta nuevos clientes

    Registra quejas

    Ejemplos de tareas del usuario de un data warehouse

    3

  • Inteligencia de Negocios Documentation, Release 1

    Cuenta nuevas rdenes y las compara con las rdenes de la semana pasada

    Pregunta por qu hay nuevos clientes

    Pregunta cules fueron los motivos de las quejas

    1.1.2 Data Warehouse

    Data Warehouse Es un sistema que recibe y consolida datos de manera peridica desde sistemas fuente hacia unalmacn de datos dimensional. 1

    Consolidacin o Integracin de datos

    Es el primer punto sobre el que argumentaremos la implementacin de un data warehouse. La informacinobjetivo de anlisis usualmente se encuentra dispersa, en diferentes formatos y sistemas, en diferentes sucursalesy departamentos , un beneficio de la adopcin de un almacen de datos, es la obtencin de una visin integral delas operaciones de una organizacin.

    Figure 1.1: Data Warehouse v0.1

    Caractersticas de un Data Warehouse

    Mantiene muchos aos de historia

    Es consultado con fines de inteligencia de negocios y otras actividades analticas

    Es actualizado en lotes, o por cargas peridicas. 2

    Los sistemas fuente son usualmente sistemas OLTP (Oracle, SQL Server, PostgreSQL ,etc. )

    1.1.3 Los sistemas fuente

    Sistema OLTP. Un sistema que soporta las operaciones transaccionales de una organizacin como ventas, compras,altas de productos, etc. OLTP significa On Line Transaction Processing o Procesamiento Transaccional enLnea.

    1 El almacen de datos tambin puede ser normalizado, veremos la diferencia en las siguientes secciones.2 Es decir, no recibe las operaciones de los sistemas fuente en tiempo real.

    4 Chapter 1. Introduccin a la Inteligencia de Negocios

  • Inteligencia de Negocios Documentation, Release 1

    Una caracterstica de los sistemas OLTP es que la estructura de datos est normalizada.

    Normalizacin Tcnica de modelado de datos cuya finalidad principal es eliminar redundancia.

    Simplemente vamos y extraemos datos ?

    En la prctica es necesario hacer un profiling o anlisis de la composicin de los datos.

    Profiling o perfil de datos Es el anlisis del sistema fuente en cuanto a la estructura de tablas, tipos de datos, lacalidad de los mismos, cantidad de registros, dispersin de valores, ocurrencia de valores nulos o faltantes, etc.

    Cmo extraemos los datos ?

    Usamos una herramienta ETL.

    ETL Extraccin, Transformacin y Carga. Es el proceso para poblar nuestro Data Warehouse. Existen varias her-ramientas que nos facilitarn dichos pasos, utilizaremos una de ellas llamada Pentaho Data Integration o tambinconocida como Kettle la cual es libre y gratuita.

    Figure 1.2: Data Warehouse v.0.2

    1.1.4 Staging Area o rea de almacenamiento auxiliar

    Existen dos maneras de cargar los datos extraidos de los sistemas fuente:

    1. Hacer procesamiento, traduccin y limpieza de los mismos al vuelo para cargarlos directamente al Data Ware-house.

    2. Usar un rea temporal para volcar los datos crudos para aplicarles los procesos de vali-dacin/traduccin/limpieza necesarios y luego cargarlos al Data Warehouse.

    Se considera buena prctica la segunda, porque de esta manera la extraccin de datos es muy rpida. 3

    Caractersticas:3 Si la extraccin es rpida y existe algn error a la mitad del proceso podremos reiniciarlo sin problemas.

    1.1. Conceptos 5

  • Inteligencia de Negocios Documentation, Release 1

    Almacena datos crudos para ser procesados

    Las tareas en esta rea se llevan a cabo con procesamiento secuencial.

    Aqu se llevan a cabo las tareas de extraccin, transformacin y carga (ETL).

    Muchas veces no est basada en tecnologa relacional, sino de archivos planos.

    Est fuera del alcance de los usuarios de negocios.

    No provee servicios de consulta ni de presentacin de datos.

    1.1.5 El Almacn de Datos Dimensional (ADD)

    Tambin conocido como el rea de presentacin.

    Almacn de datos dimensional Es una base de datos que almacena los datos del Data Warehouse en un formatodiferente al de los sistemas OLTP.

    Por qu necesitamos un almacn de datos dimensional ?

    Por dos razones fundamentales:

    1. El formato dimensional es ms apropiado para anlisis

    2. El ADD contiene informacin integrada de varios sistemas fuente.

    Data Warehouse Es la fuente de datos consultable de la empresa. No es otra cosa que la unin de los datamartsconstituyentes.

    Caractersticas:

    Es dnde los datos son organizados, almacenados y se ponen a disposicin para poder ser consultados directa-mente por usuarios, reporteadores, y otras aplicaciones analticas.

    Los datos se encuentran en dos formas, sumarizados y detallados. Los datos sumarizados ayudan a darle veloci-dad de respuesta a los reportes.

    1.1.6 Bitcora de calidad de datos

    Dentro de la planeacin del Data Warehouse, se suelen establecer polticas de calidad de datos que deben ser aplicadasantes de hacer la carga de los mismos al ADD. Si el ETL encuentra datos que no se adhieren a estas polticas, seregistran en una bitcora para hacer el reporte al cliente y que este tome las acciones necesarios para su limpieza.

    Bitcora de calidad de datos Es un registro en el que el proceso ETL, registrar aquellos casos en que los datos nose adhieran a las polticas de calidad de informacin.

    1.1.7 Metadatos

    Toda la informacin relativa a la estructura de datos, diccionario de datos, el uso y significado de datos, las reglas decalidad de la informacin y dems informacin referente a los datos mismos debe ser almacenada en un repositoriopara poder ser utilizado en todo el desarrollo del proyecto de inteligencia de negocios.

    Metadatos Es toda la informacin necesaria para entender los datos del sistema fuente, su estructura, significado,polticas de calidad de los mismos, etc.

    6 Chapter 1. Introduccin a la Inteligencia de Negocios

  • Inteligencia de Negocios Documentation, Release 1

    1.1.8 Bitcora de autitora del sistema

    Un ETL es un proceso complejo en la mayora de los casos, por lo mismo es importante monitorear su ejecucinde principio a fin, para tal efecto es muy recomendable guardar una bitcora en dnde se detalle el resultado de laejecucin de cada paso. Tambin es muy deseable que cuando se presente un error en alguno de ellos, se informe demanera inmediata a los interesados.

    Bitcora de auditora del sistema Es el registro del resultado de cada paso dentro del proceso ETL, y otra informa-cin estadstica.

    1.1.9 Herramientas de acceso a datos

    La mayora de los usuarios de negocios usarn los datos a travs de las aplicaciones analticas pre-construidas

    Hay herramientas que le permiten al usuario definir de manera muy especfica que informacin desea consultar,sin embargo, la habilidad tcnica requerida para utilizarlas es ms alta.

    Componentes involucrados en el proceso de generacin de un Data Warehouse

    Los sistemas fuente

    La herramienta de profiling o perfilado de datos

    Los metadatos.

    ETL.

    El rea de almacenamiento temporal o staging area.

    El almacn de datos dimensional.

    Los motores relacionales-multidimensionales.

    El rea de presentacin (el Data Warehouse)

    Reportes analticos, y en general, el conjunto de herramientas que explotan la informacin

    1.2 Tablas del Data Warehouse

    1.2.1 Tablas de dimensiones

    Tablas de dimensiones Una tabla que representa una variable o parmetro en base al cul se puede hacer un anlisis( por zona, por sucursal, por departamento, etc)

    Caractersticas:

    Son muy descriptivas, contienen toda la informacin disponible respecto a las entidades que describen, en formatextual. Se obtienen de la desnormalizacin de atributos asociados a la variable.

    Tienen muchas columnas

    Tienen relativamente pocos registros.

    Manejan llaves surrogadas (enteros consecutivos)

    1.2. Tablas del Data Warehouse 7

  • Inteligencia de Negocios Documentation, Release 1

    1.2.2 Tablas de hechos

    Tablas de hechos Almacenan medidas numricas del desempeo del negocio (aditivas o contabilizables)

    Caractersticas:

    Son muy voluminosas, tienen pocos registros

    Representa una relacin muchos a muchos entre dimensiones

    1.2.3 Datamart

    Datamart Es el conjunto de las tablas de dimensiones y de hechos relacionadas con un slo proceso de negocios.

    Ejemplos de datamarts (procesos de negocio):

    Ventas

    rdenes de Compra a Proveedores

    Niveles de Inventarios

    Administracin de relaciones con clientes

    etc.

    8 Chapter 1. Introduccin a la Inteligencia de Negocios

  • CHAPTER

    TWO

    INTRODUCCIN A POSTGRESQL

    Esta seccin est dedicada a exponer los conceptos bsicos de utilizacin de PostgreSQL desde la perspectiva de unusuario que explota los datos gestionados por el motor.

    2.1 Clientes

    Para conectarnos a un servidor PostgreSQL, las herramientas ms populares son:

    psql

    Es un cliente cuya interfaz est basada en texto. Es el cliente ms utilizado por usuarios avanzados y administradores.

    PgAdmin

    Es un cliente que proporciona una interfaz grfica.

    En este mini-tutorial usaremos psql

    2.2 Conectarnos a una base de datos con psql

    1. Desde cualquier terminal ejecutamos:

    psql -U usuario -h elHost -p elPuerto elNombreDeLaBaseDeDatos

    Dnde:

    -U usuario , se refiere a un usuario de base de datos existente. Toma en cuenta que los usuarios de la base dedatos son independientes de los usuarios del sistema operativo. El usuario por defecto se llama postgres.

    -h elHost, se refiere a la direccin IP o nombre de host de la mquina en la que est alojado el servicio. Si elservidor est en la misma mquina usamos : localhost 127.0.0.1

    -p elPuerto . Un puerto es un punto de comunicacin entre procesos. El puerto por defecto de PostgreSQL es el5432.

    2.2.1 Ejemplo

    En nuestro caso, nos conectaremos a nuestras bases de datos de esta manera:

    psql -U postgres -h localhost -p 5432 mb

    9

  • Inteligencia de Negocios Documentation, Release 1

    Tip: mb es el nombre de una de nuestras bases de datos de ejemplo

    2.3 El prompt

    Si la conexin es otorgada 1 , se nos presenta un prompt como el siguiente:

    psql (9.2.3)Type "help" for help.

    mb=#

    Donde, lo que aparece antes del =#, es la base de datos a la que estamos conectados.

    2.4 Listar tablas

    Para desplegar las tablas de la base de datos del esquema actual:

    \dt

    En el cliente que estamos manejando la diagonal inversa + d , es una abreviatura para decir describe o lstame.

    2.5 Ejecutar una consuta

    Simplemente la escribimos, la terminamos con punto y coma y damos enter.

    mb=# select count(*) from musicbrainz.country;count

    -------257

    (1 fila)

    2.6 El search_path

    Este concepto se refiere al la ruta de bsqueda, o schemas dnde se buscarn los objetos a los que hagamos referencia,si no especificamos a qu schema pertenecen.

    set search_path = musicbrainz;

    El cambio puede ser aplicado de forma permanente para la base de datos de esta manera:

    ALTER DATABASE mb SET search_path = musicbrainz;

    1 Si el usuario existe, si el password es correcto, si tiene permiso de conectarse a esa base de datos, etc.

    10 Chapter 2. Introduccin a PostgreSQL

  • Inteligencia de Negocios Documentation, Release 1

    2.7 Solicitar ayuda

    2.7.1 Sobre sintaxis

    En caso de duda respecto a alguna sintaxis en particular, podemos obtener ayuda con el comando de psql, h CO-MANDO, por ejemplo:

    \h CREATE TABLE

    tambin

    \h ALTER TABLE

    etc.

    2.7.2 Sobre metacomandos

    Los metacomandos son aquellos que empiezan con diagonal inversa, como dt (describir o listar tablas). Para sabercules otros comandos de este tipo tenemos a nuestra disposicin ejecutamos en psql:

    \?

    Diagonal inversa + signo de interrogacin.

    2.7. Solicitar ayuda 11

  • Inteligencia de Negocios Documentation, Release 1

    12 Chapter 2. Introduccin a PostgreSQL

  • CHAPTER

    THREE

    REPASO DE NORMALIZACIN

    3.1 Conceptos

    normalizacin En general, normalizacin, se refiere a las tcnicas para remover duplicidad y minimizar unidades deinformacin redundantes.

    anomala Es un cambio no apropiado o errneo en los datos, especficamente a una sola fila.

    3.1.1 Anomala de Insercin (Insert)

    anomala de insercin Es causada cuando un registro es agregado a una tabla de detalle, y el mismo no tiene relacincon un registro existente en la tabla maestra.

    Figure 3.1: Anomala de insercin

    13

  • Inteligencia de Negocios Documentation, Release 1

    3.1.2 Anomala de Borrado (Delete)

    anomala de borrado Es causada cuando un registro es borrado de una tabla maestra, sin borrar primero todos losregistros derivados, en la o las tablas de detalle.

    Figure 3.2: Anomala de borrado

    3.1.3 Anomala de Actualizacin (Update)

    anomala de actualizacin Es similar a la anomala de borrado en que ambos registros maestro y derivados debenser actualizados para evitar registros derivados hurfanos.

    3.1.4 Dependencia, Determinantes y otros conceptos previos

    Dependencia funcional Y es funcionalmente dependiente de X, si el valor de Y es determinado por X.

    Ejemplo:

    Y = X + 1

    Determinantes La determinante en la descripcin de dependencia funcional del ejemplo previo es X, porque Xdetermina el valor de Y.

    Dependencia transitiva Z es transitivamente dependiente de X cuando X determina a Y, e Y determina a Z. Luego,la dependencia transitiva describe que Z es indirectamente dependiente en X por medio de su relacin con Y.

    En el ejemplo de la figura anterior, la tasa de cambio (RATE), es dependiente de la Moneda (CURRENCY), pero laMoneda es dependiente del Pas (COUNTRY), por tanto, la tasa de cambio (RATE) es transitivamente independientedel Pas (COUNTRY).

    Llave candidata Una llave candidata ( potencial o aceptable) es un campo o combinacin de campos que puedenactuar como campos de llave primaria para una tabla, lo que significa que pueden identificar de manera nica aun registro en la misma.

    Dependencia funcional completa Es una situacin que ocurre cuando X determina a Y, pero la combinacin de Ycon otra variable Z no necesariamente determina a Y. En otras palabras, Y depende de X y nicamente de X.Si Y dependiera de X y algo ms, entonces no hay dependencia funcional completa con X. Esencialmente X, ladeterminante no puede ser una llave compuesta.

    14 Chapter 3. Repaso de normalizacin

  • Inteligencia de Negocios Documentation, Release 1

    Figure 3.3: Determinante

    Llave compuesta Es una llave que contiene ms de un campo.

    Dependencia funcional multivalor El ejemplo ms representativo es cuando se tiene un campo que contiene unalista separada por comas o coleccin de algn tipo. Una coleccin puede ser un arreglo de valores del mismotipo.

    Dependencia cclica. El significado de la palabra cclica es un patrn circular o de anillo cerrado. Significa que Xes dependiente de Y, y Y es dependiente directa o indirectamente de X. Tipicamente ocurre en tablas con llavesprimarias compuestas de tres o ms campos, por ejemplo, dnde tres campos estn relacionados en pares entres.

    3.1. Conceptos 15

  • Inteligencia de Negocios Documentation, Release 1

    Figure 3.4: Dependencia Funcional Completa

    Figure 3.5: Dependencia funcional multivalor

    16 Chapter 3. Repaso de normalizacin

  • CHAPTER

    FOUR

    LA BASE DE DATOS MUSICBRAINZ

    Le dedicaremos algunos minutos a revisar la estructura de esta base de datos.

    4.1 Esquema General

    A grandes rasgos, este es el diagrama Entidad-Relacin:

    4.2 Tablas principales 1

    4.2.1 artist

    Un artista es generalmente un msico, grupo de msicos, una colaboracin entre mltiples msicos u otros profesion-ales de la msica.

    JOINS

    Para obtener el nombre del artista tenemos que hacer un join con artist_name (artist_name.id = artist.name)

    El tipo de artista (grupo, persona, otros) se encuentra en la tabla artist_type (artist_type.id = artist.type)

    El pas del artista mediante la tabla country (artist.country = country.id)

    El genero del artista mediante la tabla gender (artist.gender = gender.id)

    4.2.2 release_group

    Representa una entidad abstracta album. Tcnicamente es un grupo de lanzamientos basados en un tipo, por ejemplo:

    Single (Sencillo) Under Pressure por Queen & David Bowie Album The Wall por Pink Floyd

    JOINS

    Para obtener el nombre del lazamiento musical, hacemos un join con la tabla release_name ( re-lease_group.name = release_name.id)

    1 Hay otras pero estas sern el objeto de nuestro anlisis.

    17

  • Inteligencia de Negocios Documentation, Release 1

    Figure 4.1: Diagrama Entidad Relacin de Musicbrainz

    18 Chapter 4. La base de datos Musicbrainz

  • Inteligencia de Negocios Documentation, Release 1

    El tipo (single, album, etc), lo obtenemos con la tabla release_group_primary_type (realease_group.type =release_group_primary_type.id)

    El primer join para obtener el nombre del artista lo hacemos con artist_credit (esta tabla es de enlace entre losartistas que participaron en un disco y el disco).

    Vinculamos artist_credit con artist_credit_name por medio del identificador de la primera con el artibutoartist_credit de la segunda (artist_credit.id = artist_credit_name)

    A partir de este punto estamos en posibilidad de conseguir el id del artista mediante la tabla artist.

    4.2.3 release

    Es un objeto real que puedes comprar en las tiendas musicales. Cuenta con fecha de lanzamiento, lista de nmero decatlogo, casa disquera, tipo de empaque y el status del release.

    Ejemplo.

    Release en Estados Unidos en el ao de 1984 del lbum The Wal de Pink Floid, bajo el sello discogrficoColumbia Records con nmero de catlogo C2K 36183 y el UPC 074643618328, es un release oficial, yviene en una caja con 2 CDs.

    JOINS

    Se vincula con release_group, recuerda que por cada registro en release_group hay de 1 a n registros en release.

    4.2. Tablas principales 19

  • Inteligencia de Negocios Documentation, Release 1

    20 Chapter 4. La base de datos Musicbrainz

  • CHAPTER

    FIVE

    INDICES AND TABLES

    21

  • Inteligencia de Negocios Documentation, Release 1

    22 Chapter 5. Indices and tables

  • INDEX

    AAlmacn de datos dimensional, 6anomala, 13anomala de actualizacin, 14anomala de borrado, 14anomala de insercin, 13

    BBitcora de auditora del sistema, 7Bitcora de calidad de datos, 6

    DData Warehouse, 4, 6Datamart, 8Dependencia cclica., 15Dependencia funcional, 14Dependencia funcional completa, 14Dependencia funcional multivalor, 15Dependencia transitiva, 14Determinantes, 14

    EETL, 5

    IInteligencia de Negocios, 3

    LLlave candidata, 14Llave compuesta, 15

    MMetadatos, 6

    NNormalizacin, 5normalizacin, 13

    PProfiling o perfil de datos, 5

    SSistema OLTP., 4

    TTablas de dimensiones, 7Tablas de hechos, 8

    23

    Introduccin a la Inteligencia de NegociosConceptosTablas del Data Warehouse

    Introduccin a PostgreSQLClientesConectarnos a una base de datos con psqlEl promptListar tablasEjecutar una consutaEl search_pathSolicitar ayuda

    Repaso de normalizacinConceptos

    La base de datos MusicbrainzEsquema GeneralTablas principales Hay otras pero estas sern el objeto de nuestro anlisis.

    Indices and tablesIndex