# Magatzem de dades

Un magatzem de dades (de l'anglès data warehouse) és una base de dades amb la informació històrica d'una organització dissenyada i estructurada per a realitzar-hi consultes eficientment.
Les dades d'aquests magatzems provenen dels sistemes d'informació transaccionals de les organitzacions (per exemple d'un ERP). El magatzem realitza una funció d'integració de dades, ja que periòdicament es poden realitzar processos de càrrega (i refresc) d'informació des dels sistemes transaccionals fins al magatzem de dades. En aquests processos es pot realitzar una transformació o neteja de les dades i conceptualment es realitza una integració de dades de diverses fonts.
Les operacions realitzades sobre un magatzem de dades i els programes que les realitzen poden ser de diversos tipus. Les eines anomenades OLAP (online analytical processing) consisteixen a fer consultes, anàlisis, estadístiques i realitzar informes, d'una manera gràfica, multidimensional i amb operadors específics, facilitant, per tant, les consultes complexes (especialment les agregades) respecte a les eines d'informes tradicionals (generalment basades en SQL). Un altre tipus d'eines que solen anar associades al magatzem de dades són les eines de mineria de dades.
Els magatzems de dades allotgen grans quantitats de dades que poden ser agrupades en unitats conceptuals anomenades datamarts.

## Definicions de magatzem de dades
### Definició de Bill Inmon

Bill Inmon va ser un dels primers autors a escriure sobre el tema dels magatzems de dades, defineix un data warehouse (magatzem de dades) en termes de les característiques del repositori de dades:
* Orientat a temes.- Les dades en la base de dades estan organitzades de manera que tots els elements de dades relatives al mateix esdeveniment o objecte del món real quedin units entre si.
* Variant en el temps.- Els canvis produïts en les dades al llarg del temps queden registrats perquè els informes que es puguin generar reflecteixin en aquestes variacions.
* No volàtil.- La informació no es modifica ni s'elimina, una vegada emmagatzemada una dada, aquesta es converteix en informació de només lectura, i es manté per a futures consultes.
* Integrat.- La base de dades conté les dades de tots els sistemes operacionals de l'organització, i aquestes dades han de ser consistents.
Inmon defensa una metodologia descendent (top-down) a l'hora de dissenyar un magatzem de dades, ja que d'aquesta forma es consideraran millor totes les dades corporatives. En aquesta metodologia els Data marts es crearan després d'haver acabat el data warehouse complet de l'organització.

### Definició de Ralph Kimball

Ralph Kimball és un altre conegut autor en el tema dels data warehouse, defineix un magatzem de dades com: "És un magatzem de dades que extreu, neteja, conforma i lliura una font de dades dimensional per a la consulta i l'anàlisi". També va ser Kimball qui va determinar que un data warehouse no era més que: "la unió de tots els Data marts d'una entitat". Defensa per tant una metodologia ascendent (bottom-up) a l'hora de dissenyar un magatzem de dades.

### Una definició més àmplia

Les definicions anteriors se centren en les dades en si mateixes. No obstant això, els mitjans per obtenir aquestes dades, per extreure-les, transformar-les i carregar-les, les tècniques per analitzar-les i generar informació, així com les diferents formes per realitzar la gestió de dades són components essencials d'un magatzem de dades. Moltes referències a un magatzem de dades utilitzen aquesta definició més àmplia. Per tant, en aquesta definició s'inclouen eines per extreure, transformar i carregar dades, eines per a l'anàlisi (intel·ligència empresarial) i eines per gestionar i recuperar les metadades.

## Funció d'un magatzem de dades

En un magatzem de dades el que es vol és contenir dades que són necessaris o útils per a una organització, és a dir, que s'utilitza com un repositori de dades para posteriorment transformar-los en informació útil per a l'usuari. Un magatzem de dades ha de lliurar la informació correcta a la gent indicada al moment òptim i en el format adequat. El magatzem de dades dona resposta a les necessitats d'usuaris experts, utilitzant sistemes de suport a decisions (DSS), sistemes d'informació executiva (EIS) o eines per fer consultes o informes. Els usuaris finals poden fer fàcilment consultes sobre els seus magatzems de dades sense tocar o afectar l'operació del sistema.
En el funcionament d'un magatzem de dades són molt importants les següents idees:
* Integració de les dades provinents de bases de dades distribuïdes per les diferents unitats de l'organització i que amb freqüència tindran diferents estructures (fonts heterogènies). S'ha de facilitar una descripció global i una anàlisi comprensiva de tota l'organització en el magatzem de dades.
* Separació de les dades usades en operacions diàries de les dades usades en el magatzem de dades per als propòsits de divulgació, d'ajuda en la presa de decisions, per a l'anàlisi i per a operacions de control. Tots dos tipus de dades no han de coincidir en la mateixa base de dades, ja que obeeixen a objectius molt diferents i podrien entorpir-se entre si.
Periòdicament, s'importen dades al magatzem de dades dels diferents sistemes de planejament de recursos de l'entitat (ERP) i d'altres sistemes de programari relacionats amb el negoci per a la transformació posterior. És pràctica comuna normalitzar les dades abans de combinar-los en el magatzem de dades mitjançant eines d'extracció, transformació i càrrega (ETL). Aquestes eines llegeixen les dades primàries (sovint bases de dades OLTP d'un negoci), realitzen el procés de transformació al magatzem de dades (filtració, adaptació, canvis de format, etc.) i escriuen en el magatzem.

## Data marts

Els Data marts són subconjunts de dades d'un data warehouse per a àrees específiques.
Entre les característiques d'un data mart destaquen:
* Usuaris limitats.
* Àrea específica.
* Té un propòsit específic.
* Té una funció de suport.

## Galledes d'informació

Les galledes d'informació o galledes OLAP funcionen com les galledes de trencaclosques en els jocs, en el joc es tracta d'armar els colors i en el data warehouse es tracta d'organitzar les dades per taules o relacions; els primers (el joc) tenen tres dimensions, les galledes OLAP tenen un nombre indefinit de dimensions, raó per la qual també reben el nom de hipergalledes. Un galleda OLAP contindrà dades d'una determinada variable que es desitja analitzar, proporcionant una vista lògica de les dades proveïdes pel sistema d'informació cap al data warehouse, aquesta vista estarà disposada segons unes dimensions i podrà contenir informació calculada. L'anàlisi de les dades està basat en les dimensions de l'hipergalleda, per tant, es tracta d'un anàlisi multidimensional.
A la informació d'una galleda pot accedir l'executiu mitjançant taules dinàmiques en un full de càlcul o a través de programes personalitzats. Les taules dinàmiques li permeten manipular les vistes (creus, filtrats, organització, totals) de la informació amb molta facilitat. Les diferents operacions que es poden realitzar amb galledes d'informació es produeixen amb molta rapidesa. Portant aquests conceptes a un data warehouse, est és una col·lecció de dades que està formada per «dimensions» i «variables», entenent com a dimensions a aquells elements que participen en l'anàlisi i variables als valors que es desitgen analitzar.

### Dimensions

Les dimensions d'una galleda són atributs relatius a les variables, són les perspectives d'anàlisis de les variables (formen part de la taula de dimensions). Són catàlegs d'informació complementària necessària per a la presentació de les dades als usuaris, com per exemple: descripcions, noms, zones, rangs de temps, etc. És a dir, la informació general complementària a cadascun dels registres de la taula de fets.

### Variables

També anomenades «indicadors de gestió», són les dades que estan sent analitzades. Formen part de la taula de fets. Més formalment, les variables representen algun aspecte quantificable o mesurable dels objectes o esdeveniments a analitzar. Normalment, les variables són representades per valors detallats i numèrics per a cada instància de l'objecte o esdeveniment mesurat. En forma contrària, les dimensions són atributs relatius a les variables, i són utilitzades per indexar, ordenar, agrupar o abreujar els valors de les mateixes. Les dimensions posseeixen una granularitat menor, prenent com a valors un conjunt d'elements menor que el de les variables; exemples de dimensions podrien ser: «productes», «localitats» (o «zones»), «el temps» (mesurat en dies, hores, setmanes, etc.), ...

### Exemples

Exemples de variables podrien ser:
* Beneficis
* Despeses
* Vendes
Exemples de dimensions podrien ser:
* producte diferents tipus o denominacions de productes
* localitats o província, o regions, o zones geogràfiques
* temps mesurat de diferents maneres, per hores, per dies, per mesos, per anys
* tipus de client casat/solter, jove/adult/ancià
* colors d'una peça vermell, blava, blanc
Segons l'anterior, podríem construir una galleda d'informació sobre l'índex de vendes (variable a estudiar) en funció del producte venut, la província, el mes de l'any i si el client està casat o solter (dimensions). Tindríem una galleda de 4 dimensions.

## Elements que integren un magatzem de dades
### Metadades

Un dels components més importants de l'arquitectura d'un magatzem de dades són els metadades. Es defineix comunament com a «dades sobre les dades», en el sentit que es tracta de dades que descriuen quin és l'estructura de les dades que es van a emmagatzemar i com es relacionen.
La metadada documenta, entre altres coses, quines taules existeixen en una base de dades, quines columnes posseeix cadascuna de les taules i quin tipus de dades es poden emmagatzemar. Les dades són d'interès per a l'usuari final, la metadada és d'interès per als programes que han de manejar aquestes dades. No obstant això, el rol que compleix la metadada en un entorn de magatzem de dades és molt diferent al rol que compleix en els ambients operacionals. En l'àmbit dels data warehouse la metadada té un paper fonamental, la seva funció consisteix a recollir totes les definicions de l'organització i el concepte de les dades en el magatzem de dades, ha de contenir tota la informació concernent a:
* Taules
* Columnes de taules
* Relacions entre taules
* Jerarquies i Dimensions de dades
* Entitats i Relacions

### Funcions ETL

Els processos de Extract, transform and load (ETL) són importants ja que són la forma en què les dades es guarden en un magatzem de dades (o en qualsevol base de dades). Impliquen les següents operacions:
* Extracció. Acció d'obtenir la informació desitjada a partir de les dades emmagatzemades en fonts externes.
* Transformació. Qualsevol operació realitzada sobre les dades perquè puguin ser carregats en el data warehouse o es puguin migrar d'est a una altra base de dades.
* Càrrega. Consisteix a emmagatzemar les dades en la base de dades final, per exemple el magatzem de dades objectiu normal.

### Middleware

Middleware és un terme genèric que s'utilitza per referir-se a tot tipus de programari de connectivitat que ofereix serveis o operacions que fan possible el funcionament d'aplicacions distribuïdes sobre plataformes heterogènies. Aquests serveis funcionen com una capa d'abstracció de programari distribuïda, que se situa entre les capes d'aplicacions i les capes inferiors (sistema operatiu i xarxa). El middleware pot veure's com una capa API, que serveix com a base als programadors perquè puguin desenvolupar aplicacions que treballin en diferents entorns sense preocupar-se dels protocols de xarxa i comunicacions en què s'executaran. D'aquesta manera s'ofereix una millor relació cost/rendiment que passa pel desenvolupament d'aplicacions més complexes, en menys temps.
La funció del middleware en el context dels data warehouse és la d'assegurar la connectivitat entre tots els components de l'arquitectura d'un magatzem de dades.

## Disseny d'un magatzem de dades

Per construir un Data Warehouse es necessiten eines per ajudar a la migració i a la transformació de les dades cap al magatzem. Una vegada construït, calen mitjans per manejar grans volums d'informació. Es dissenya la seva arquitectura depenent de l'estructura interna de les dades del magatzem i especialment del tipus de consultes a realitzar. Amb aquest criteri les dades han de ser repartits entre nombrosos data marts. Per abordar un projecte de data warehouse és necessari fer un estudi d'alguns temes generals de l'organització o empresa, els quals es descriuen a continuació:
* Situació actual de partida - Qualsevol solució proposada de data warehouse ha d'estar molt orientada per les necessitats del negoci i ha de ser compatible amb l'arquitectura tècnica existent i planejada de la companyia.
* Tipus i característiques del negoci - És indispensable tenir el coneixement exacte sobre el tipus de negocis de l'organització i el suport que representa la informació dins de tot el seu procés de presa de decisions.
* Entorn tècnic - S'ha d'incloure tant l'aspecte del maquinari (mainframes, servidors, xarxes) així com aplicacions i eines. Es donarà èmfasi als sistemes de suport a decisions (DSS), si existeixen en l'actualitat, com operen, etc.
* Expectatives dels usuaris - Un projecte de data warehouse no és únicament un projecte tecnològic, és una forma de vida de les organitzacions i com a tal, ha de comptar amb el suport de tots els usuaris i el seu convenciment sobre la seva bondat.
* Etapes de desenvolupament - Amb el coneixement previ, ja s'entra en el desenvolupament d'un model conceptual per a la construcció del data warehouse.
* Prototip - Un prototip és un esforç designat a simular tant com sigui possible el producte final que serà lliurat als usuaris.
* Pilot - El pilot d'un data warehouse és el primer, o cadascun dels primers resultats generats de forma iterativa que es faran per arribar a la construcció del producte final desitjat.
* Prova del concepte tecnològic - És un pas opcional que es pot necessitar per determinar si l'arquitectura especificada del data warehouse funcionarà finalment com s'espera.

## Magatzem de dades espacial

El magatzem de dades espacial és una col·lecció de dades orientades al tema, integrats, no volàtils, variants en el temps i que afegeixen la geografia de les dades, per a la presa de decisions. No obstant això la component geogràfica no és una dada agregada, sinó que és una dimensió o variable a la tecnologia de la informació, de tal manera que permeti modelar tot el negoci com un ens holístic, i que a través d'eines de processament analític en línia (OLAP), no solament es posseeixi un alt acompliment en consultes multidimensionals sinó que addicionalment es puguin visualitzar espacialment els resultats.
El magatzem de dades espacial forma part d'un extensiu Sistema d'Informació Geogràfica per la presa de decisions, aquest igual que els SIG, permeten que un gran nombre d'usuaris accedeixin a informació integrada, a diferència d'un simple magatzem de dades que està orientat al tema, el Data warehouse espacial addicionalment és Geo-Relacional, és a dir que en estructures relacionals combina i integra les dades espacials amb les dades descriptives. Actualment és geo-objectes, això és que els elements geogràfics es manifesten com a objectes amb totes les seves propietats i comportaments, i que addicionalment estan emmagatzemats en una única base de dades Objecto-Relacional.
Els Data Warehouse Espacials són aplicacions basades en un alt acompliment de les bases de dades, que utilitzen arquitectures Client-Servidor per integrar diverses dades en temps real. Mentre els magatzems de dades treballen amb molts tipus i dimensions de dades, molts dels quals no referencien ubicació espacial, malgrat posseir-la intrínsecament, i sabent que un 80% de les dades posseeixen representació i ubicació a l'espai, en els Data warehouse espacials, la variable geogràfica exerceix un paper important a la base d'informació per a la construcció de l'anàlisi, i d'igual manera que per un Data warehouse, la variable temps és imprescindible en les anàlisis, pels Data warehouse espacials la variable geogràfica ha de ser emmagatzemada directament en ella.

## Referències

* ↑ «Magatzem de dades». Gran Enciclopèdia Catalana. Barcelona: Grup Enciclopèdia Catalana.
* ↑ Kimball, Ralph. «1». A: The Data Warehouse ETL Toolkit (en anglès). Wiley, 2004, p. 23. ISBN 0-764-57923-1.
* ↑ What is Big Data?