Hace casi un año nos contaron sobre el BISM, que además de ser un país del universo fantástico de Narnia, y estar situado en grandes cavernas por debajo del Reino Profundo…. (Crónicas de Narnia), se trata del Business Intelligence Semantic Model, nuevo modelo para trabajar SSAS dentro de la plataforma BI de MS SQL Server 2012. La mejor explicación sobre este tema, viene de manos del blog de Analysis Services and PowerPivot Team.
La idea ha sido ampliar el espectro de los usuarios que pueden crear modelos de datos para el análisis. Se mantiene SSAS como modelo multidimensional, que lo veníamos trabajando desde la versión 2005, y se agrega una posibilidad nueva, que es trabajar con un modelo tabular. Todo esto desde SQL Server Data Tools (SSDT) en sustitución de Business Intelligence Development Studio (BIDS).
Como vimos antes existen plantillas nuevas para el trabajo con Analysis Services. Los proyectos SSAS creados con versiones anteriores pueden ser migrados a esta nueva plataforma, el Unified Dimensional Model (UDM) ya no existe, en su lugar el modelo de versiones anteriores, migra y evoluciona al modelo semántico de BI, mantiene las capacidades originales y se enriquece. Por lo que podemos continuar trabajando en desarrollos anteriores y crear proyectos nuevos, tranquilamente, son todo ventajas :).
Sin pretender profundizar, quiero mencionar que el modelo semántico de BI puede ser visto como un modelo conceptual de tres capas, como muestra la siguiente imagen
La capa Modelo de Datos, es el modelo conceptual de datos con el que va a trabajar tanto el desarrollador como el usuario final, se trata por tanto de modelo multidimensional y modelo tabular, que son dos de las plantillas de SSAS en SSDT.
Por su parte la Lógica de negocio y consultas, representan la inteligencia o lógica semántica del modelo. Se trata del lenguaje de cálculos a utilizar. Con SSAS hasta 2008 R2 empleábamos consultas sobre datos multidimensionales escritas con Multidimensional Expressions (MDX), ahora, si trabajamos modelo multidimensional, continuamos con MDX, mientras que si pasamos a utilizar modelo tabular incrustaremos la lógica de negocio a nuestros modelos utilizando Data Analysis Expressions (DAX), que es un lenguaje de expresión sobre la base de las fórmulas de MS Excel que se introdujo en PowerPivot y construido en los conceptos de tabla.
La capa Acceso a datos es la que realiza la integración con los diversos orígenes que vemos en la imagen. Para la recuperación y gestión de estos datos, nos vamos a encontrar con dos modos: almacenados en caché y la “¿pasarela?” (cached and passthrough) Estos modos a su vez, admiten diferentes motores de almacenamiento: MOLAP (optimizado para OLAP) y VertiPaq, como alternativa a MOLAP, que es un motor de almacenamiento de columna en memoria (in-memory column store engine), que permite que no haya necesidad de agregados ni índices. Estos dos motores existen cuando aplicamos modo cache. Si aplicamos modo paathrough, tenemos dos opciones: ROLAP y DirectQuery. Con SSAS, ya teníamos ROLAP, un OLAP no optimizado; pero sin latencias y DirectQuery es complementario a VertiPaq.
Este modelo, BISM, que encontramos en SQL Server 2012, es rico, escalable y flexible y es sobre el que voy a estar escribiendo en los días venideros. Especialmente sobre el modelo tabular, que es el más novedoso en este caso. En la imagen es fácilmente apreciable cómo tanto el modo tabular y el multidimensional nos permiten consumir los distintos orígenes de datos y ser consumidos por los destinos – cliente.
En la próxima entrada vamos a crear un proyecto SSAS utilizando la plantilla de modelo tabular.