Para que puedas iniciar con la construcción de analíticos es altamente recomendable que construyas un data warehouse, el concepto podrá sonar muy abrumante, pero en realidad no lo es, empezamos con la definición del concepto.
Contenido
¿Qué es un Data Warehouse y para qué sirve?
Para explicar este concepto, vamos a hacer un símil con una tienda física que vende productos varios, por ejemplo, Walmart, esta empresa tiene grandes almacenes en donde reciben los productos de los distintos proveedores, posteriormente son catalogados y acomodados de tal forma que sea fácil su acceso para que en el momento que se necesiten puedan ser tomados y llevados a las tiendas para mostrarlos a los clientes.
Tomando como referencia ese ejemplo de Walmart, el concepto de Data Warehouse se define como un almacén de datos, el cual recibe la información que se genera en los distintos departamentos o procesos que realiza la empresa, no importa si son hojas de cálculo, o si se extrae la información directamente de los sistemas facturadores, toda la información se almacena de forma organizada en este lugar, garantizando que la información se encuentre disponible en cualquier momento que se necesite utilizar.
Finalmente, el data warehouse nos sirve para organizar la información de tal forma que si se necesita un dato sea muy sencillo obtenerlo, por ejemplo, estas realizando un análisis de ventas, pero te das cuenta de que necesitas también saber la utilidad y resulta que la información de costos la tiene finanzas o se obtiene de otro modulo del sistema, con el data warehouse se resuelve el problema pues teniendo los datos de ventas y costos en el mismo lugar se puede realizar una consulta obteniendo ambos datos.
5 ventajas de tener un Data Warehouse.
Basado en nuestra experiencia aquí encontrarás las 5 principales ventajas o beneficios que se obtienen al implementar un Data Warehouse.
Enriquecimiento de datos.
Los sistemas de información simplemente registran las transacciones que se van realizando, por ejemplo un sistema de facturación registra la fecha de la compra, el cliente, los productos, cantidades, precios y monto, sin embargo existe información adicional que nos ayudará a realizar mejores análisis tal cómo, segmentar por regiones, por marcas de productos o categorías etc., toda esta información se tiene por separada en el data warehouse y haciendo el cruce de todos estos catálogos con la información de venta podemos enriquecer la información para obtener mejores resultados.
No estresar a los sistemas de la empresa.
Los sistemas de facturación o de inventarios etc. tienen siempre sus limitantes y si adicionalmente a sus operaciones habituales estresamos al sistema pidiéndole datos podemos provocar un riesgo para la operación, alentando el sistema o simplemente que falle, con un data warehouse se puede establecer una rutina para que en horario no laboral se extraiga la información de los sistemas con lo cual se mitiga el riesgo de saturar los recursos y de esta forma se pueden realizar consultas a los datos sin afectaciones.
Una sola fuente de verdad.
Seguro en algún momento han escuchado la frase de “es que yo tengo otros datos”, bueno pues, para que no les pase esto, tener la información almacenada en un solo lugar nos permite establecer lineamientos claros sobre cuál es la información que se deberá utilizar para construir cualquier análisis.
Simplicidad.
Los sistemas de facturación o cualquier otro donde se registren datos manualmente, almacenan la información en bases de datos que se les llama relacionales, las cuales no sirven para realizar análisis de información, en cambio con el data warehouse se organiza la información de tal forma que permite el fácil acceso y consulta a los datos.
Disponibilidad de datos.
Los data warehouse son construidos en bases de datos las cuales pueden estar disponibles para cualquier persona de la empresa, por lo que una vez montado simplemente puedes administrar permisos para que las personas accedan a los datos.
Características del Data Warehouse.
Información relevante. Si bien es mucha la información que se puede generar en una empresa, no vale la pena el tiempo y esfuerzo para integrar todo en el data warehouse, únicamente la información relevante de la empresa y/o aquella con la cual se soporta la toma decisión será la información a almacenar, por ejemplo la venta, los costos, el inventario etc.
Integración de datos. Tiene la capacidad de almacenar la información proveniente de distintas fuentes y en distintos formatos, información de distintos departamentos de la empresa.
Variable en el tiempo. Se caracteriza por almacenar información histórica para poder realizar análisis de tendencias.
No Modificable. Una vez que la información es almacenada, ésta no puede ser modificada por los usuarios que la consumen, esto garantiza tener una sola fuente de verdad y en cierta medida calidad de datos.
Componentes de un Data Warehouse.
Hemos mencionado que un Data Warehouse debe estar disponible todo el tiempo, lo cual implica contar con ciertos componentes, pero esto no significa que no puedas construir tu propio data warehouse en tu computadora, teniendo en cuenta que la apagas constantemente, esto lo determinará el volumen de información que tengas y el número de usuarios que necesiten de información.
Veamos los componentes para un data warehouse.
Servidor. Teniendo un servidor conectado a la red de la empresa se cumple con esa característica de tener la información disponible en todo momento, además de que se pueden establecer rutinas para que automáticamente se extraiga la información de los sistemas transaccionales.
Si no quieres invertir en un servidor, puedes utilizar una computadora normal o incluso puedes hacer el data warehouse en la computadora que tengas actualmente.
Manejador de bases de datos. Los manejadores de bases de datos te sirven justamente para crear bases, almacenar los datos y poder administrarlos de forma sencilla, uno de los más conocidos es Microsoft SQL Server, si no lo conoces te invito a que empieces a aprender como usarlo, aquí te explicamos desde como instalarlo.
Herramientas ETL. Estas herramientas nos ayudan con la automatización de la Extracción, Transformación y Carga de datos hacia el data warehouse, como ejemplo podemos mencionar SQL Server Integration Services o Knime.
Técnicamente esos tres componentes es lo que se necesita para construir un data warehouse, existen algunos otros componentes inherentes a estos como las fuentes de datos desde donde se tomará información, la construcción de las bases de datos, tablas y procesos para la manipulación de los datos.
Arquitectura de un Data Warehouse.
Hay que tener en cuenta que un data warehouse es un proceso o sistema que se construye independientemente a los sistemas transaccionales que tiene la empresa para mantener su operación diaria, el data warehouse se alimenta de esas transacciones que ocurren diariamente.
En términos de arquitectura existen dos formas de construir un data warehouse, a una se le llama Inmon y la otra Kimball, en la actualidad el método más utilizado es kimball, en cualquier arquitectura llegamos al mismo resultado, tener la información en un solo lugar.
En ambos conceptos se inicia con una extracción de datos a los sistemas transaccionales, esto se realiza con las herramientas ETL, que nos ayudan a extraer, transformar y almacenar los datos, la diferencia entre estos dos conceptos viene después.
Inmon por su parte, pasa la información directamente al data warehouse y posteriormente segrega la información en pequeñas bases llamadas data marts, estas pequeñas bases se construyen por temática o departamento, por ejemplo un data mart que esté relacionado con la información que servirá para el equipo comercial.
Por otro lado, el modelo Kimball, realiza la extracción de datos y en primera instancia la almacena en data marts, de igual forma organizados por temáticas o departamentos y posteriormente la información es enviada al data warehouse, la ventaja de esta arquitectura contra la Inmon es la agilidad, facilidad y reducción de costos que conlleva, porque se puede iniciar almacenando la información de algún departamento, por ejemplo ventas y de esta forma tener analíticos de forma rápida, después de haber implementado ventas se puede ir integrando la información de otros departamentos.
Otra gran ventaja de este modelo es la fácil administración, si llega a fallar el proceso de extracción de datos desde el sistema transaccional hacia estas bases intermedias resulta muy fácil poder saber que pasó, identificar si extrajo solo una parte de la información, si no extrajo nada etc. evitar que pueda duplicarse información y poder extraer de nuevo la información sin afectar al sistema transaccional.
Diseño de un Data Warehouse.
La forma en como se construye una base de datos para un Data warehouse es muy sencilla, a diferencia de las bases de datos que se utilizan para los sistemas transaccionales, es decir para un sistema de ventas o de inventarios.
Para construir un data warehouse se crea una base de datos basada en el modelo estrella, el cual se conforma por tablas de hechos y tablas de dimensiones.
Tabla de hechos.
En esta tabla o tablas se almacenan las transacciones realizadas, por ejemplo, la compra que hizo un cliente en una fecha determinada.
Tablas de dimensiones.
Estas son tablas que describen los datos registrados en las tablas de hecho, por ejemplo, la dimensión de tiempo, por una parte, tenemos la fecha en que se realizó la venta en la tabla de hechos, pero la dimensión de tiempo tendrá otros atributos como semana, mes, cuarto y año. Otro ejemplo es la dimensión de productos el cual puede tener muchos atributos como la marca, categoría, tamaño, color, peso etc. en otras palabras estas tablas funcionan como catálogos de información que enriquecen a la información transaccional.
¿Cómo construir un data warehouse?
Para construir uno debemos utilizar un manejador de bases de datos, nosotros utilizamos SQL Server, es necesario tenerlo instalado y saber los comandos a utilizar para realizar esta tarea.