O que é o BI Semantic Model?

Com o SQL Server 2012 ou, o então conhecido SQL Server codename “Denali”, um novo conceito que surge é o BI Semantic Model. O objetivo deste post é clarificar um pouquinho o que essa nomenclatura significa.

O BI Semantic model é um modelo a ser utilizado para todos os tipos de experiências para usuário final, seja para apresentação de relatórios, análises de dados, scorecards, dashboards ou aplicações personalizadas. Todas as ferramentas de cliente que compõe a solução de BI Microsoft (Excel, PowerPivot, SharePoint Services e Reporting Services Insights (incluindo Crescent)) operam neste modelo.

Imagina você iniciar o desenvolvimento de um dashboard de BI pessoal no excel utilizando o add-in para PowerPivot, posteriormente, devido a importância das informações contidas no seu projeto aliada a praticidade de visualização no dashboard, a equipe pede para ter visibilidade dos dados, aí você passa a publicar a sua “planilha” no Sharepoint. O projeto cresce, e agora se torna corporativo, 50 pessoas ou mais precisam visualizar esses dados. Com o SQL Server 2012 você tem a opção de importar o seu projeto que vinha sendo trabalhado no formato Tabular com Power Pivot para Excel para dentro do SQL Server Analysis Services.

Ou seja, o que significa tudo isso?

Significa que a partir do SQL Server 2012 o Analysis Services passa a operar no modelo Tabular assim como o PowerPivot para Excel. Você pode iniciar um pequeno projeto no Excel e futuramente disponibilizar ele em uma aplicação OLAP mais robusta como o Analysis Services.

Antes de entrar em maiores detalhes sobre o BI Semantic model, deixe-me primeiro endereçar uma questão importante: E sobre os cubos existentes no Analysis Services (também conhecido como Modelo Dimensional Unificado ou UDM)? A resposta é muito simples: quando você atualizar o seu projeto do Analysis Services ou servidor para SQL Server 2012, cada cubo automaticamente torna-se um BI semantic model. O BI Semantic model é uma evolução do UDM a partir de um modelo puro multidimensional em um modelo híbrido, que oferece todos os recursos do UDM e muito mais. Você passa a poder optar se o desenvolvimento do seu cubo seguirá o formato UDM ou Tabular. Ou seja, ganhamos flexibilidade!

Profissionais de BI podem criar o modelo no Visual Studio e implantá-lo em um servidor Analysis Services. O modelo também pode ser criado por usuários de negócios com o PowerPivot para Excel e compartilhado via PowerPivot for SharePoint. PowerPivot e Analysis Services são dois produtos diferentes, um destinado a usuários de negócio e o outro para profissionais de de BI e TI. No entanto, ambos fazem uso do BI Semantic model. No caso de PowerPivot, o modelo está inserido dentro de uma planilha do Excel. No caso do Analysis Services, o modelo é armazenado e gerenciado no servidor. Tendo o mesmo modelo por trás dessas experiências permite uma transição suave de aplicações de BI a partir de BI pessoais para equipe de BI Organizacional / Professional. Por exemplo, uma pasta de trabalho PowerPivot construído por um usuário do negócio pode ser usado como ponto de partida por um profissional de BI para construção de uma aplicação com Analysis Services. As ferramentas do SQL Server(Management Studio e BI Development Studio) tornam muito simples esse processo.

Agora vamos entrar em detalhes sobre o BI semantic model! O BI semantic model pode ser visto conceitualmente como um modelo de três camadas:

Modelo de Dados ou Data Model: O BI Semantic Model é um modelo híbrido suportando ambos os modelos de modelagem de dados multidimensional e tabular. O desenvolvedor do modelo pode usar o BI Development Studio para criar um BI semantic model usando um projeto multidimensional ou um projeto tabular. E a ferramenta cliente pode consumir o modelo usando uma interface multidimensional ou tabular. Desenvolvedores de modelo normalmente precisarão escolher entre projetos multidimensional e tabular com base nas necessidades da sua aplicação e seu skill set. Por outro lado, ferramentas de cliente usarão normalmente a interface multidimensional ou tabular, dependendo da natureza da experiência do usuário pretendido. Ferramentas analíticas como o Excel podem tanto fazer uso da interface multidimensional quanto Tabular enquanto ferramentas ad hoc de relatórios, como Crescent (Power View) usarão uma interface tabular.

Business Logic & Queries: Desenvolvedores modelo podem incorporar a lógica de negócios no modelo usando MDX (Multidimensional Expressions) ou DAX (Expressões de Análise de Dados). MDX vem sendo trabalhada pela equipe do Analysis Services nos últimos 12 anos e tornou-se o padrão da indústria de BI para cálculos multidimensional e consultas. DAX é uma linguagem de expressão com base em fórmulas do Excel que foi introduzido no PowerPivot e é bastante utilizada no formato tabular. Novamente, os programadores irão poder escolher entre MDX e DAX com base nas necessidades de aplicação, conjunto de habilidades, experiência do usuário, etc

Acesso a Dados: Esta camada integra dados de múltiplas fontes – bancos de dados relacionais, aplicações de negócios, arquivos simples, OData feeds, etc. Existem dois modos para recuperar e gerenciar esses dados – armazenados em cache e passthrough. O modo de cache puxa os dados de todas as fontes e os armazena em uma estrutura de dados comprimido que é otimizado para acesso a dados de alta velocidade. O modo passthrough pressiona processamento da consulta e lógica de negócios até a fonte de dados de modo a explorar as capacidades do sistema de origem e evitar a necessidade de copiar os dados. Obviamente há uma compensação entre os dois modos e o desenvolvedor modelo precisa fazer a escolha com base nas necessidades de aplicação.

  • Há dois mecanismos de armazenamento que pode ser usada para cache de dados – MOLAP e ™ VertiPaq. MOLAP é o mecanismo de armazenamento que tem sido utilizado no Analysis Services para muitos lançamentos. Ele é otimizado para OLAP e usa técnicas como pre-built agregates, índices de bitmap, e compressão para oferecer um ótimo desempenho e escala. Em SQL Server “Denali”, estamos a introduzir o mecanismo de armazenamento VertiPaq como uma alternativa para MOLAP. VertiPaq é uma engine de armazenamento de colunas que combina compressão de dados state-of-art e algoritmos de varredura para oferecer um desempenho incrivelmente rápido, sem necessidade de índices, agregações ou tuning.
  • Há duas opções para passthrough – ROLAP e DirectQuery. ROLAP é complementar ao MOLAP enquanto DirectQuery é complementar à VertiPaq. Ambos tentativa de empurrar avaliação de consulta, tanto quanto possível, para dentro da fonte de dados. ROLAP é otimizado para grandes tabelas de fatos e tabelas dimensão relativamente pequena, enquanto DirectQuery é mais neutra em relação a estrutura do banco de dados de back-end (mais sobre isso em um post mais tarde).

Como você pode ver, o BI semantic model é um modelo rico, escalável e flexível. A riqueza está nas capacidades sofisticadas de modelagem de dados e lógica de negócios complexos que podem ser expressas utilizando MDX e DAX. O desempenho e a escalabilidade vem do MOLAP e de mecanismos de armazenamento VertiPaq que permitem que os volumes de dados por todo o caminho de alguns megabytes até vários terabytes. Flexibilidade é provavelmente o aspecto mais interessante do modelo. Desenvolvedores podem escolher entre a modelagem de dados no formato multidimensional e tabular, entre MDX e DAX para a lógica empresarial e entre os modos de cache e de passtrough para acesso a dados e armazenamento. Independentemente das escolhas do desenvolvedor, as ferramentas de cliente verão um modelo único e podem consumi-lo usando as interfaces multidimensional ou tabular e enviar consultas via MDX ou DAX.

Nos próximos posts vou procurar esclarecer mais os critérios a considerar quando utilizar um ou outro modelo.

Estaremos disponibilizando nas próximas semanas vídeos no centro de treinamento MSDN/TechNet abordando sobre essas e outras novidades do SQL Server 2012. Eu mantenho vocês informados sobre!

Para download do Product Guide: http://www.microsoft.com/download/en/details.aspx?id=27069

Para download do SQL Server 2012 CTP3: https://www.microsoft.com/betaexperience/pd/SQLDCTP3CTA/enus/

Grande abraço!

Um comentário sobre “O que é o BI Semantic Model?

Deixe um comentário