Está en la página 1de 6

42-47_almacendedatos.

qxd:Maquetación 1 28/4/09 13:23 Página 42

Introducción a los
almacenes de datos
Introduction to Data Warehousing
Palabras clave: almacén de datos, Key words: Datawarehouse, Business
inteligencia de negocio, esquema en estrella Intelligence, Star schema, Snowflake schema
y esquema en copo de nieve
Resumen Abstract
Este artículo presenta una introducción al This article stands for an introduction to
concepto de almacén de datos (Data Ware- the Data Warehouse concept, by explaining
Jorge Moral Rubia house), explicando cuál ha sido su razón de what its origins were, and how it is built
Ingeniero del ICAI de la promoción ser, y cómo se construye. A continuación se and fed. Later, it explains the design
1997, en la rama de Gestión y Orga- describe más detalladamente el concepto de principles it involves and how it is used
nización Industrial. Su experiencia la- diseño que implica y sus usos habituales. Le si- frequently. It continues with a little outlook
boral ha estado íntegramente dedica- gue una breve descripción de las características of the applications that exploit it. And
da a los campos de Business de las aplicaciones que lo explotan. Por último, finally, it forecasts what its future
Intelligence y Datawarehouse. Es cer- vaticina cuál puede ser su desarrollo futuro. development may be.
tificado en Business Objects y Mi-
crostrategy y ha trabajado con las
tecnologías de SAS, Oracle e IBM. res de texto, se afrontaban los quehaceres
Actualmente trabaja como Consul- Introducción laborales de una forma muy distinta; por
tor Experto en Business Intelligence La aparición de los ordenadores persona- otro lado, las grandes infraestructuras de al-
para Fujitsu Services. les (PC) en la década de los 80 supuso un macenamiento y procesamiento de datos
cambio muy drástico en la gestión de la in- corporativos, que hasta entonces habían re-
formación corporativa. Por un lado, facilitó a sidido en mainframes, comenzaron a descen-
Comentarios a: los trabajadores un sopor te con el cual, y tralizarse para dar paso al procesamiento
comentarios@icai.es ayudados de hojas de cálculo y procesado- distribuido.

42 anales de mecánica y electricidad / marzo-abril 2009


42-47_almacendedatos.qxd:Maquetación 1 28/4/09 13:23 Página 43

La evolución tecnológica continua ha su- Para llevar a cabo esta integración, es


puesto desde entonces incrementos sustan- fundamental en primer lugar tener diseña-
ciales en la velocidad de proceso de la infor- da la base de datos (de ello se hablará más
mación, así como reducciones significativas adelante), pues es dicho diseño el que mar-
de los costes unitarios de almacenamiento. cará las necesidades de extracción de in-
Ambos avances han sostenido la diversifica- formación de cada uno de los sistemas
ción de los sistemas de gestión, que han ex- fuente.
pandido su acción a áreas empresariales co- Los procesos que se conectan a los datos
mo la contabilidad o la facturación. Al mismo de los sistemas fuente, los recodifican, los in-
tiempo, estos sistemas se han dotado pro- tegran y los cargan dentro del almacén de
gresivamente de mayor complejidad, puesto datos. Reciben el nombre de procesos ETL
que a menudo son diseñados para procesar (del inglés Extract, Transform, Load).
información de compañías con un gran nú- Estos procesos se ejecutarán con distinta
mero de clientes que realizan transacciones periodicidad dependiendo de las necesida-
en tiempo real: los operadores de telecomu- des de los usuarios y de la naturaleza de la
nicaciones o las entidades financieras son un información que se esté almacenando. Por
claro exponente del grado de complejidad ejemplo, cuando los almacenes se constru-
alcanzado. yen para datos financieros, la periodicidad de
Muchos de estos sistemas de gestión de- ejecución de dichos procesos suele ser men-
partamental son el resultado de la adaptación sual. Sin embargo, cuando se almacena infor-
de aplicaciones estándar a la situación especí- mación de llamadas telefónicas y su tarifica-
fica de la compañía usuaria (el ejemplo más ción, la periodicidad de los procesos de carga
conocido son las aplicaciones de planificación siempre es diaria.
de recursos corporativos, ERP, de las que la Es en este punto donde reside una de las
alemana SAP es el máximo exponente). En grandes diferencias entre un almacén de da-
otros casos, sin embargo, la aplicación es dise- tos y una base de datos de transacciones. Las
ñada a medida para un uso concreto, pero no bases de datos de transacciones se diseñan
se considera la integración de la información óptimamente para accesos concurrentes por
en ella almacenada con la de otros sistemas muchos usuarios, cuyas operaciones básicas
de gestión. El resultado, en cualquier caso, son son altas, bajas y modificaciones en la infor-
diferentes sistemas de gestión, operando con mación. Un almacén de datos, por el contra-
los mismos “elementos” (clientes, proveedo- rio, es accedido concurrentemente por un
res, empleados, etc.), pero adoptando codifi- número menor de usuarios, y el acceso siem-
caciones y nomenclaturas específicas, que ha- pre se produce para consultar la informa-
cen imposible la comunicación entre ellos. ción. Dado que estas consultas entorpecen y
Los ejecutivos de las empresas necesitan ralentizan sobremanera la carga de los datos
para la gestión de las mismas el cálculo de en el almacén, casi siempre los procesos ETL
indicadores de negocio que implican, desde que cargan los datos son programados du-
esta perspectiva, el empleo de información rante la noche, momento en el cual no hay
procedente de dos o más sistemas de ges- demanda de información para análisis.
tión. Dicho de otro modo, estos ejecutivos El carácter de base de datos de consulta
precisan de una visión consolidada o unifica- indica su finalidad básica: la toma de decisio-
da de la empresa.Y es aquí donde aparece la nes. Como se verá en los siguientes capítu-
tecnología objeto de este artículo. los, las consultas al almacén, realizadas desde
un conocimiento del área que se analiza,
Almacén de datos permiten a los usuarios acceder a informa-
Un almacén de datos (Data Warehouse) es ción transaccional consolidada y desagregada
una base de datos que integra datos proce- al nivel requerido.
dentes de uno o varios sistemas de informa-
ción de una compañía, y que está orientado Hechos y dimensiones
a la toma de decisión. Todos los almacenes de datos acostumbran
La integración permite dotar de nomen- a construirse mediante una base de datos di-
clatura única a los diferentes elementos que señada con un concepto dimensional. Se en-
en él se utilizan, y garantizar un acceso cen- tiende por dimensión el eje de análisis (tiem-
tralizado a información procedente de distin- po, producto, cliente, proveedor, etc.) por el
tos departamentos: contabilidad, calidad, pro- que se desea categorizar la información. Si se
ducción, marketing, ventas, etc. utilizase una denominación estadística, estos

Introducción a los almacenes de datos 43


42-47_almacendedatos.qxd:Maquetación 1 28/4/09 13:23 Página 44

Figura 1. Representación cartesiana de un pleo de diagramas en los que se visualiza de


hecho y sus dimensiones
forma clara la estructura física con la que se
va a diseñar el almacén.
DIMENSIÓN En la Figura 2 se observa un ejemplo sim-
ZONA ple de estos diagramas. Habitualmente, las
cajas incluidas en ellos se corresponden con
Nº Incidencias
las tablas del almacén, y cada línea en ella es-
crita se corresponde con una columna de di-
DIMENSIÓN
cha tabla. De este modo, la tabla naranja (lla-
TIEMPO
mada, en el argot, "tabla de hechos")
DIMENSIÓN almacena los hechos mensurables (num_inc:
SERVICIOS
número de incidencias recibidas; num_avisos:
número de avisos; inc_res: incidencias resuel-
tas; inc_pdt: incidencias pendientes) por cada
ejes recibirían el nombre de variables cuali- día (cod_dia), zona (cod_zona) y ser vicio
tativas. (cod_servicio).
Los hechos son las variables de negocio Las líneas existentes entre cajas se deno-
(ventas, costes, consumos, tiempos, etc.) so- minan uniones (joins) entre tablas, e indican
bre los que se va a totalizar, promediar, y en que la tabla de hechos contiene información
general, realizar operaciones de agregación analizable por la dimensión a la que se une.
que conduzcan a conclusiones sobre la evo- Estas variables especificadas con el prefijo
lución del área o departamento que se estu- “cod_” constituyen códigos únicos en sus res-
die. La denominación estadística de dichas pectivas dimensiones. Es decir, son codificadas
variables de negocio sería la de variables de tal forma que un código de zona, por ejem-
cuantitativas. plo, no sea compartido por dos zonas.
La Figura 1 representa gráficamente el
hecho, el número de incidencias, como un Indicadores y jerarquías
punto de mayor o menor grosor en fun- Jerarquías
ción de cuántas se hayan producido. Su si- Si se observa las dimensiones de la Figura
tuación respecto a los tres ejes representa 2, se aprecia con claridad la existencia de je-
gráficamente los valores codificados de zo- rarquías dentro de las mismas. Una jerarquía
na, ser vicio y tiempo para los que se han es un orden determinado dentro de las va-
producido dichas incidencias. riables o atributos de una dimensión.
Esta forma de representación gráfica no se Estas jerarquías son utilizadas a la hora de
usa habitualmente, puesto que limita las di- agregar (navegación ascendente, drill up) o
mensiones a tres. Sí que es frecuente el em- desagregar (navegación descendente, drill
down) la información.
Figura 2. Representación del modelo lógico de datos Para el modelo que nos ocupa, las jerarquías
naturales serían las siguientes:
•Tiempo: año (desc_año) → trimestre
ZONA
(desc_trimestre) → mes (desc_mes) → día
cod_zona
(desc_dia).
desc_zona
•Zona: comunidad autónoma (desc_ccaa) →
desc_provincia
provincia (desc_provincia)→ zona
desc_ccaa
(desc_zona).
•Ser vicio: responsable → ser vicio
(desc_servicio).
cod_dia Es destacable el hecho de que cada una de
TIEMPO
SERVICIO cod_servicio estas jerarquías contiene sus atributos en
cod_dia
cod_servicio cod_zona una única tabla. Este tipo de modelización,
desc_dia
desc_servicio num_inc denominada “en estrella” (star schema de-
desc_mes
responsable num_avisos sign), toma las dimensiones como puntas de
desc_trimestre
inc_res la estrella, y la tabla de hechos como centro
desc_año
inc_pdt de dicha estrella. El diseño en estrella es óp-
timo para agilizar las consultas, pues se mini-
miza el número de tablas sobre las que con-
sultar la información.

44 anales de mecánica y electricidad / marzo-abril 2009


42-47_almacendedatos.qxd:Maquetación 1 28/4/09 13:23 Página 45

Figura 3. Representación de un modelo en copo de nieve

ZONA
cod_zona
desc_zona
MES
desc_provincia
cod_mes
desc_ccaa
desc_mes
desc_trimestre
desc_año

cod_dia
cod_servicio T
SERVICIO DIA
cod_zona I
cod_servicio cod_dia
num_inc E
desc_servicio desc_día
num_avisos M
responsable desc_mes
inc_res P
inc_pdt O

cod_mes
cod_servicio
cod_zona
presupuesto

Existe otra forma de modelizar, denomina- Indicadores


da “en copo de nieve” (snowflake schema de- Los indicadores se construyen a partir de
sign), que se emplea menos frecuentemente. las variables cuantitativas que se almacenan
Este modelo se caracteriza por que alguna en las tablas de hechos. Es frecuente que és-
de sus dimensiones tiene atributos distribui- tas sean analizadas mediante el uso de esta-
dos en más de una tabla. dísticos descriptivos tales como la suma, la
Siguiendo con el ejemplo que nos ocupa, media, la desviación típica, la mediana, etc. A
imaginemos que se desease analizar las inci- la expresión que resulta de emplear un ope-
dencias y avisos en relación al presupuesto rador estadístico o de sumarización en estas
de cada servicio. Si el dato presupuestario variables se le denomina métrica o indicador.
sólo puede ser obtenido mensualmente, el El modelo de la Figura 2 permite construir
modelo de datos expuesto anteriormente diferentes indicadores del área de Resolu-
debería ser rediseñado como aparece en la ción de Incidencias, tales como:
Figura 3. 1.1 .Nº incidencias recibidas diarias.
Esta modelización tiene los atributos de la 1.2. Nº incidencias resueltas diarias.
dimensión tiempo distribuidos entre las ta- 1.3. Nº incidencias pendientes diarias.
blas MES y DIA. Aunque es más sencilla des- 1.4. % de actividad diario, definido como: nº
de el punto de vista de aprovisionamiento, incidencias resueltas diarias * 100 / nº inci-
representa un serio obstáculo a las posibili- dencias recibidas diarias.
dades de consulta de datos, pues introduce Los tres primeros indicadores son el resul-
dos contextos de cálculo separados. Por ello, tado de utilizar un operador de suma sobre
es conveniente buscar una forma de llevar las variables respectivas de la tabla de he-
todos los hechos que se consideran en el chos. El cuarto indicador también compon-
modelo a un nivel de desagregación común dría su fórmula con dicho operador de su-
(es lo que se denomina “granularidad de la ma, pero se deberían definir reglas de
tabla de hechos”), de tal forma que, como en agregación específicas cuando la información
la Figura 2, los hechos sean almacenables en no se desagregara por servicio, día y zona.
una única tabla. En este caso, lo mejor sería Precisamente, cuando no existe un único
encontrar un criterio razonable de reparto operador de agregación válido para cualquier
del presupuesto para cada día del mes. combinación de atributos de las dimensiones,

Introducción a los almacenes de datos 45


42-47_almacendedatos.qxd:Maquetación 1 28/4/09 13:23 Página 46

Tabla 1. Enero 2009: cuadro resumen de zonas principales varias dimensiones y agilizan, por tanto, las
consultas al almacén. En nuestro ejemplo, el
Zona Nº incidencias recibidas Nº incidencias resueltas % actividad
indicador % de actividad podría almacenarse
Madrid-Retiro 325 100 30,77 agregado por mes si la Tabla 2 fuese un infor-
Madrid-Atocha 250 150 60,00 me muy demandado por los usuarios y/o el
Bcn-Ciutat Vella 200 125 62,5 volumen mensual de nuestra tabla de he-
Bcn-Poble Nou 300 100 33,33 chos inicial (por día, zona y servicio) fuera
del orden de millones de registros, se conse-
se habla de indicador no agregable. En este guiría una “compresión” aproximada de 1/30,
caso, sería mejor catalogarlo como semia- por lo que la creación de una tabla agregada
gregable, pues si bien el operador suma da- valdría mucho la pena.
ría un resultado correcto agregando por zo-
na o por ser vicio, por tiempo sería lógico Herramientas de análisis y consulta
utilizar un operador promedio. Para obtener resultados tabulares como
De este modo, la Tabla 1 utilizaría, para la los representados en las Tablas 1 y 2, u obte-
fórmula: suma (nº incidencias resueltas dia- ner resultados gráficos, existen actualmente
rias) * 100 / suma (nº incidencias recibidas en el mercado numerosas herramientas que
diarias), mientras que la tabla 2 emplearía la simplifican la labor al usuario en dos direc-
fórmula: promedio (nº incidencias resueltas ciones:
diarias) * 100 / promedio (nº incidencias reci- •Construyen objetos de consulta manipula-
bidas diarias). bles en un panel de consulta (atributos de
Obsérvese que el indicador 1.3 también dimensión, indicadores, filtros), de tal modo
es semiagregable en la dimensión tiempo, que cualquier usuario puede, en modo con-
porque no sirve con aplicarle simplemente currente, emplearlos mediante acciones de
un operador suma. Cuando se quiere saber arrastrar y soltar (drag and drop) para cons-
el número de incidencias pendientes para truir sus propios informes.
toda España en enero de 2009, es preciso •Dichos objetos son reutilizables y su com-
calcular el valor de las incidencias pendientes binación genera, de forma automática y
para toda zona y servicio el último día de transparente para el usuario, el código SQL
ese mes (es decir, el 31), y será este valor el (lenguaje de consulta de base de datos) que
que se sumarice. Es un problema análogo al se ha de ejecutar para extraer la información
que se puede tener para calcular los kg de del almacén.
producto semiterminado en una fábrica, o Estas herramientas están pensadas para
las existencias del almacén. satisfacer las necesidades de la gran mayoría
Hay situaciones, como la que plantea el in- de usuarios. Permiten navegar dentro del in-
dicador 1.4, en que a la dificultad de estable- forme, desagregando una o varias de las di-
cer un operador de sumarización único se mensiones, construir totales, implementar
une un volumen de registros considerable fórmulas que combinen indicadores, etc.
(es el caso de entidades financieras u opera- Por otro lado, suelen estar construidas de tal
dores de teléfono, que pueden registrar mu- modo que permiten su empleo por dos vías:
chos millones de transacciones en sus siste- •Cliente pesado (heavy client) o arquitectu-
mas operacionales). Para este tipo de ra 2 capas: denominada de este modo por-
situaciones suele plantearse la construcción que la aplicación está instalada en el PC del
de las llamadas tablas agregadas, que almace- usuario, y es éste quien ejecuta directamen-
nan la información sumarizada para una o te, desde su aplicación, las consultas al al-
macén.
•Cliente ligero (thin client) o arquitectura 3
Tabla 2. Semestre 2008: cuadro resumen de provincias principales
capas: el usuario emplea la aplicación me-
PROV ENE FEB MAR ABR MAY JUN diante un navegador web que abre sesión en
% act. % act. % act. % act. % act. % act. el servidor donde se encuentra instalada la
herramienta. Es por tanto el servidor quien
Madrid 63,50 62,25 67,13 64,28 61,12 60,57 soporta el proceso de creación de la consul-
ta y quien la envía y descarga los resultados
Barcelona 59,24 64,91 68,11 60,19 50,56 42,88
desde el almacén.
Sevilla 60,01 62,37 58,64 59,23 65,48 58,21
Un diagrama representativo de estos dos
Valencia 58,32 57,49 61,15 63,61 60,98 58,01 modos de funcionamiento se encuentra en
la figura 4.

46 anales de mecánica y electricidad / marzo-abril 2009


42-47_almacendedatos.qxd:Maquetación 1 28/4/09 13:23 Página 47

Figura 4. Cliente pesado y cliente ligero

SERVIDOR HERRAMIENTA

USUARIO ALMACÉN DE DATOS


SERVIDOR WEB

Cliente pesado Cliente ligero

Existe otro tipo de usuarios, menos fre- surgen otros conceptos como BPM (Business
cuentes y de perfil más analítico, que utilizan Performance Management) o CPM (Corporate
técnicas de investigación operativa y estadísti- Performance Management), que introducen
ca avanzada con los datos del almacén (como ciertas diferencias con el original, pero que
la segmentación, la regresión logística o los ár- concuerdan, en cuanto al fin último, con el
boles de decisión, por citar algunos). Este tipo anteriormente descrito.
de análisis se denomina minería de datos (da- La Inteligencia de Negocio es un concepto
ta mining), puesto que, por lo general, preten- relativamente nuevo (menos de 10 años de
de extraer de los datos patrones ocultos que vida), y por tanto aún tiene un recorrido
permitan una mejora sustancial de la eficiencia muy interesante. Lo usual es que su implan-
en el área analizada. Para estos usuarios tam- tación en cualquier compañía se sustente so-
bién existen paquetes de software específicos bre un almacén de datos, aunque hay quien
(siempre con arquitectura cliente-servidor), sostiene que la tecnología posibilita ya acce-
cuyo uso a pleno rendimiento requiere de der a la información de los diferentes siste-
una buena base matemática y estadística. mas sin necesidad de almacén intermedio.
Sea como fuere, en mi opinión hay dos prin-
Perspectivas de futuro cipios inherentes a la Inteligencia de Negocio
Los almacenes de datos están bastante que son imprescindibles para su éxito en
desarrollados en sectores como el financie- cualquier empresa:
ro, el de telecomunicaciones, el de retail y •Tiene que implicar un cambio cultural en la
el energético. Son sectores en los que el organización.
volumen de transacciones, y la informatiza- •Todos los trabajadores pueden beneficiarse
ción de las mismas, favorece en gran medi- de su implantación.
da su construcción; además, su uso para in- Las reglas y técnicas de construcción de
formes corporativos y, en menor medida, un almacén están en la actualidad muy con-
en minería de datos, ha agilizado el repor- solidadas, y existe bibliografía en el mercado
ting corporativo en el primer caso y una para ponerlas en práctica correctamente. Sin
mejora de la eficiencia en el segundo. embargo, la Inteligencia de Negocio, repre-
Los almacenes de datos son –o han sido, sentada por los dos puntos que acabo de
cabría mejor decir- el primer estadio de un enunciar, permanece sin desarrollarse en ple-
concepto más amplio denominado Inteligen- nitud.
cia de Negocio (Business Intelligence). La idea Creo que será su puesta en práctica en los
que subyace detrás de este término es la de próximos años, urgidos por la crisis econó-
aprovechar el flujo de datos que existe en mica presente y la necesidad de aumentar la
cualquier empresa para, mediante su captura productividad en todas las organizaciones, lo
y análisis, tomar medidas y acciones que me- que favorecerá una mayor implantación de
joren la eficiencia y la rentabilidad de la mis- los almacenes de datos, y un uso más intensi-
ma. A par tir de la Inteligencia de Negocio vo de los mismos.

Introducción a los almacenes de datos 47

También podría gustarte