SQL Server Business Intelligence parte 1 Business Intelligence es una de las tecnologías de base de datos más llamativas de los últimos años y un campo donde Microsoft ha formado su camino a través de distintas versiones de SQL Server. Su amplia funcionalidad, costo e integración, la hacen ser un producto atractivo para tanto medianas como grandes empresas de amplios sectores. Business Intelligence apunta a solucionar necesidades complejas, las que antes de la existencia de esta, representaban un gran despliegue de profesionales o simplemente no era abordado. Antes de conocer estas herramientas, debemos conocer que es Business Intelligence. Qué es Business Intelligence? Business Intelligence es un método de almacenamiento y presentación de los datos claves de la empresa, los cuales pueden ser accedidos rápida y fácilmente por cualquier persona (con los permisos correspondientes). BI jpermite a los usuarios finales entender porque su negocio obtiene particulares resultados, y tomar las desiciones más acertadas, para el éxito de su empresa. Además del término Business Intelligence existen multiples términos asociados los que iremos viendo a lo largo de este artículo. Además del término Business Intelligence existen múltiples términos asociados los que iremos viendo a lo largo de este artículo. Conceptos. Datawarehouse Una única estructura que usualmente, pero no siempre, consiste en uno o más cubos, los Datawarehouse son usados para mantener una vista de solo lectura de los datos calculados de una organización. Algunas estas estructuras incluyen clientes para consultas. DataMart Un subconjunto definido de un Datawarehouse, a menudo un cubo individual. El cubo individual representa una unidad de negocios (ej. Marketing) de un gran entero (la compañía). Los Datamarts solían ser la unidad básica de una organización en Analysis Services 2000 debido a las limitaciones en el producto, este ya no se aplica en SSAS (SQL Server Analysis Service). Hoy en día los Datawarehouse consisten de un solo Cubo. Cubo Una Estructura de Almacenamiento usada por clásicos productos Datawarehouse en lugar de muchas (a menudo normalizadas) Tablas. A diferencia de las tablas que usan filas y columnas, estas usan dimensiones y
medidas (hechos). También los cubos presentan datos calculados (a menudo sumados), en vez de ítems individuales (filas). Los cubos presentan vistas con datos empresariales calculados opuesto a las tablas normalizadas que presentan datos detallados. Los Cubos son poblados con una copia de la fuente de datos (o datos de producción) de solo lectura. En algunos Casos, los cubos tienen una copia completa de los datos de producción; en otros casos, contienen sub-conjuntos de la fuente de datos. Los Datos son movidos desde el sistema fuente a los cubos mediante el proceso ETL (Extracción, Transformación y carga). Otro nombre conocido para los cubos es OLAP (Online Analytical Processing), de estos existes algunos Tipos : Molap (Multidimensional OLAP) Holap (Hybrid OLAP ) Rolap (Relational OLAP) Estos hacen referencia al método en que los datos y metadatos son almacenados en un cubo SSAS. Decision Support System Este término tiene una amplia definición, puede significar una copia de solo lectura de una Base de datos OLTP o un grupo de cubos OLAP o incluso una mezcla de ambos. Si la fuente de datos consiste en una BD OLTP esta seguramente estará normalizada. Uno de los desafíos de usar OLTP como fuente, es la dificultad de escribir rápida y con poca sobrecarga consultas en el sistema fuente. Esto es planteado debido al nivel de normalización de la Base de datos, mientras mayor sea la normalización deberá ejecutar más joins en sus consultas, además el comportamiento de bloque de base de datos es tal, que largas consultas pueden causar una espera significativa de recursos para los usuarios finales. Otra complejidad es la necesidad de la indexación apropiada para las consultas. Una de las claves que hacen la diferencia en el enfoque de Microsoft es integrar soporte SSAS (SQL Server Analysis Service) dentro de su producto Office específicamente Excel. Excel 2003 puede ser usado como cliente SSAS a mucho menor costo que un cliente de terceros. Microsoft ha expandido el soporte de características SSAS en Excel 2007. Productos Microsoft SQL SERVER 2005 Este es el escenario preferido y posiblemente la ubicación fuente para soluciones BI. Los datos pueden ser actualmente recuperados desde una variedad de almacenamiento de datos (Oracle, Db2, etc..), debido a esto una instalación de SQL Server no es estrictamente requerida para construir una solución Microsoft BI. Sin embargo, debido a la integración de algunos conjuntos de herramientas claves: ej. SSIS o SQL Server Integration Services, el cual es usado para ejecutar el proceso ETL (Extracción, Transformación y
Carga) de la fuente de datos al datawarehouse. La Mayoría de las soluciones BI deberán incluir al menos una instalación de SQL Server. Otro componente clave en muchas Soluciones BI en SQL Server Reporting Services (SSRS). Así como la interfaz de Administración SSMS (SQL Server Management Studio). SQL SERVER ANALYSIS SERVICE Este es el servidor núcleo en una solución Microsoft BI. SSAS provee almacenamiento para los datos usados en Cubo para su DataWarehouse. Este producto puede o no ejecutarse en el mismo Servidor físico que el de SQL Server 2005. Business Intetelligence Developmente Studio (BIDS) será usado para desarrollar cubos para Analysis Service. DATA MINING Este es un componente opcional incluido en SSAS que permite a usted crear estructuras Data Mining. Estas estructuras incluyen modelos Data Mining. Estos son objetos que contienen fuentes de datos (Relacionales o Multidimensionales) que han sido procesados usando un particular tipo de algoritmo Data Mining. Estos algoritmos clasifican (agrupan) o predicen uno o más valores de columnas. A pesar de que Data Mining está disponible desde Análisis Service 2000. Microsoft ha mejorado significativamente las capacidades de esta herramienta en la edición 2005. Por Ejemplo: en el 2000 existían solo dos algoritmos DM disponibles, en la edición 2005 Existen Nueve. SQL SERVER INTEGRATION SERVICES Este conjunto de herramientas es un componente en la mayoría de las soluciones BI. Es usada para importar, limpiar y validar los datos, antes de ser disponibles para Analysis Services. Es usual usar fuentes de datos diferentes (Relacionales, Archivos planos, XML, Etc.) para un DataWarehouse. Por esta razón, SSIS es útil para facilitar la compleja carga de datos que son a menudo comunes en una solución BI. Esta función es llamada ETL, en SQL Server 2000 era DTS (Data Transformation Services). La versión 2005 ha sido rediseñada. SQL SERVER 2005 REPORTING SERVICES Este es un componente opcional para su solución BI. Microsoft ha hecho una significante mejora en la versión actual. Que hace el uso de de SSRS una atractiva parte de una solución BI. La más importante es la inclusión de un diseñador de consultas visuales para cubos SSAS. El cual facilita la rápida creación de reportes, reduciendo la necesidad de Escribir consultas manuales sobre cubos de datos. Lenguajes BI El lenguaje de consultas para SSAS es llamado MDX. SSAS también incluye la capacidad de construir estructuras DM. Para consultar datos en estas
estructuras usted usará otro lenguaje llamado DMX. Finalmente, Microsoft em SSAS introduce un lenguaje de Script Administrativo XMLA. MDX (Multidimensional Expression) Este es el lenguaje usado para consultar cubos OLAP. Sin embargo, este lenguaje es un estándar y terceros han adoptado parte de este en soluciones BI. La realidad es que muy pocos desarrolladores son hábiles en MDX. Esto se debe a que la necesidad de escribir código MDX manualmente en una Solución BI es reducida. Debido a esto retener desarrolladores que tengan al menos un conocimiento básico de MDX es una consideración importante en la planificación de una Solución BI. Ejemplo SELECT CUSTOMER.GEOGRAPHY ON COLUMNS, PRODUCT.[PRODUCT NAME] ON ROWS FROM [Analysis Services Tutorial] El lenguaje de Consulta MDX es usado para recuperar datos desde cubos SSAS. A pesar de que MDX tiene una Estructura tipo SQL, MDX es más difícil de dominar. Esto es debido a la complejidad de las estructuras de fuente de datos SSAS CUBOS. DMX (Data Mining Extensions) Este es un lenguaje usado para consultar estructuras Data Mining (la cual contiene modelos DM). Al igual que MDX este es un estándar abierto y existen pocos desarrolladores hábiles debido al poco uso, además, la interface de Microsoft DM es fuertemente manejada con Asistentes mas que en la creación de cubos. XML for Analysis Este es un Lenguaje usado para ejecutar tareas Administrativas en SSAS, tales como: Visualización de meta datos, respaldo, copia, etc., Al igual que los lenguajes anteriores, es un estándar abierto y existen muy pocos desarrolladores hábiles, Esto es debido a que Microsoft ha hecho que la generación de código sea Simple. Cuando Conectamos a SSAS, usted puede hacer clic k derecho sobre cualquier objeto SSAS y generar Script XMLA usando la Interface Gráfica (GUI). Ventajas de Business Intelligence BI es comprensible y flexible Un único cubo diseñado correctamente, puede contener todos los datos de una organización, y presentar los datos al usuario final consistentemente. El modelado de cubos es ahora lo suficientemente flexible para reflejar la realidad de negocios en un único cubo.
En versiones anteriores donde se usaba más de un solo cubo, esta carecía de flexibilidad y a menudo esta era traspasada al cliente. BI es accesible (Intuitivo para todos los usuarios para ver y manipular) Al mostrar las tablas dinámicas en su organización. Los Ejecutivos notarán rápidamente y estará impresionados (algunos emocionados) de ver el potencial alcance de una solución BI en su compañía. Las tablas dinámicas reflejan la forma en que muchos usuarios piensan acerca de los datos, que es "Que son las medidas (números) y que atributos (factores) crearon los números". Algunos usuarios pueden requerir una interface más Simple que una tabla dinámica ("Reporte enlatado"). Para esto Microsoft provee SSRS. Es importante que usted haga un balance para este tipo de requerimiento, el cuál provocará que usted haga este trabajo manualmente versus el uso de tablas dinámicas. BI es rápido de Consultar Unas de las ventajas en una Solución BI, es que las consultas son un 1000 % más rápidas que en OLTP, además SSAS es altamente optimizado para proveer una muy superior experiencia de consulta. BI es simple para consultas Los usuarios finales solo soltarán ítems en un área de tabla dinámica, debido a esto los desarrolladores escribirán muy poco código de consulta, cabe mencionar que los clientes SSAS (como Excel) generan automáticamente consultas MDX. BI provee Exactitud, cercana al tiempo real e información resumida Esto mejora la calidad de las desiciones de negocios, SSAS provee en su versión Enterprise, proactve Caching, que permite tener los cubos una latencia de minutos e incluso segundos. Las Herramientas Microsoft se integran a Terceros SSAS crea cubos desde Oracle, DB2, etc. Debido al bajo costo, fácil implementación y conjunto de características, SSAS ahora toma el primer lugar en proveedores de soluciones BI para Oracle.
En esta primera parte de Business Intelligence sobre SQL Server repasamos conceptos Generales, así como también indicamos las herramientas necesarias para cada etapa del Diseño de Modelos BI. En la segunda parte, veremos un ejemplo práctico de cómo utilizar BI sobre la base de datos de prueba de SQL Server "Adventure Works DW", espero les haya parecido interesante, pronto más novedades.