inteligencia de negocios
DESCRIPTION
Inteligencia de negocios a nivel softwareTRANSCRIPT
-
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