Compartilhar via


Processamento analítico online

O OLAP (processamento analítico online) é uma tecnologia que organiza grandes bancos de dados empresariais para executar cálculos complexos e análise de tendências. Esse método permite consultas intrincadas sem interromper sistemas transacionais.

Transações comerciais e registros são armazenados em bancos de dados conhecidos como bancos de dados OLTP (processamento de transações online), que são otimizados para entradas de registro individuais. Esses bancos de dados contêm informações valiosas, mas não são projetados para análise, portanto, a recuperação de dados é demorada e difícil.

Para resolver esse problema, os sistemas OLAP extraem com eficiência o business intelligence dos dados. Os bancos de dados OLAP são otimizados para tarefas de leitura pesada e baixa gravação. Eles são modelados e limpados para uma análise eficaz. Os bancos de dados OLAP geralmente preservam dados históricos para análise de série temporal.

Os sistemas OLAP tradicionalmente usam cubos de dados multidimensionais para organizar dados de forma a dar suporte a consultas e análises complexas. O diagrama a seguir mostra uma arquitetura de sistema OLAP tradicional.

Diagrama que mostra uma arquitetura lógica OLAP tradicional no Azure que usa o Analysis Services.

À medida que a tecnologia progride e os dados e as escalas de computação aumentam, os sistemas OLAP fazem a transição para arquiteturas de MPP (processamento paralelo) massivamente compatíveis com o Microsoft Fabric . Para obter mais informações, consulte o repositório de dados analíticos do Fabric.

O diagrama a seguir mostra uma arquitetura moderna do sistema OLAP.

Diagrama que mostra uma arquitetura lógica OLAP moderna no Azure que usa o Fabric.

Modelagem semântica

Um modelo de dados semânticos é um modelo conceitual que descreve o significado dos elementos de dados que ele contém. As organizações geralmente têm seus próprios termos para itens e, às vezes, esses termos têm sinônimos. As organizações também podem ter significados diferentes para o mesmo termo. Por exemplo, um banco de dados de inventário pode acompanhar um equipamento usando uma ID de ativo e um número de série. Mas um banco de dados de vendas pode se referir ao número de série como a ID do ativo. Não há uma maneira simples de relacionar esses valores sem um modelo que descreva a relação.

A modelagem semântica fornece um nível de abstração sobre o esquema de banco de dados para que os usuários não precisem conhecer as estruturas de dados subjacentes. Os usuários finais podem consultar facilmente dados sem executar agregações e junções sobre o esquema subjacente. As colunas geralmente são renomeada para nomes mais amigáveis para tornar o contexto e o significado dos dados mais óbvios.

A modelagem semântica é predominantemente para cenários com grande volume de leitura, como análise e inteligência empresarial (OLAP), em vez de processamento de dados transacionais mais voltado para gravação (OLTP). A modelagem semântica atende a cenários de leitura pesada devido às características de uma camada semântica típica:

  • Os comportamentos de agregação são definidos para que as ferramentas de relatórios os exibam corretamente.
  • A lógica de negócios e os cálculos são definidos.
  • Os cálculos orientados por tempo são incluídos.
  • Os dados normalmente são integrados de várias fontes.
  • Há suporte para análise em tempo real.

Tradicionalmente, a camada semântica é colocada em um data warehouse por esses motivos.

Diagrama que mostra uma camada semântica entre um data warehouse e uma ferramenta de relatório.

Há dois tipos principais de modelos semânticos:

  • Os modelos de tabela usam construções de modelagem relacional, como modelos, tabelas e colunas. Internamente, os metadados são herdados de construções de modelagem OLAP, como cubos, dimensões e medidas. O código e o script usam metadados OLAP.

  • Modelos multidimensionais usam construções de modelagem OLAP tradicionais, como cubos, dimensões e medidas.

O Analysis Services e o Fabric fornecem a infraestrutura e as ferramentas necessárias para implementar a modelagem semântica com eficiência.

Exemplo de caso de uso

Uma organização armazena dados em um banco de dados grande. Ele deseja disponibilizar esses dados para os usuários e clientes empresariais criarem seus próprios relatórios e fazerem análises.

Eles podem dar a esses usuários acesso direto ao banco de dados, mas essa opção tem desvantagens, incluindo gerenciamento de segurança e controle de acesso. E os usuários podem ter dificuldade em entender o design do banco de dados, incluindo os nomes de tabelas e colunas. Essa opção exige que os usuários saibam quais tabelas consultar, como essas tabelas devem ser unidas e como aplicar outra lógica de negócios para obter os resultados corretos. Os usuários também precisam conhecer uma linguagem de consulta como SQL. Normalmente, essa opção leva vários usuários a relatar as mesmas métricas, mas com resultados diferentes.

Uma opção melhor é encapsular todas as informações de que os usuários precisam em um modelo semântico. Os usuários podem consultar com mais facilidade o modelo semântico usando uma ferramenta de relatório de sua escolha. Os dados fornecidos pelo modelo semântico vêm de um data warehouse, o que garante que todos os usuários exibam uma única fonte de verdade. O modelo semântico também fornece nomes de tabela e coluna amigáveis, define relações entre tabelas, inclui descrições e cálculos e impõe segurança em nível de linha.

Características comuns da modelagem semântica

A modelagem semântica e o processamento analítico tendem a ter as características a seguir.

Requisito Descrição
Esquema Esquema na gravação, altamente imposto
Usa transações Não
Estratégia de bloqueio Nenhum
Atualizável Não, normalmente requer a recomputação do cubo
Acrescentável Não, normalmente requer a recomputação do cubo
Carga de trabalho Leituras intensas, somente leitura
Indexação Indexação multidimensional
Tamanho do dado Tamanho pequeno a massivamente grande
Modelo Tabular ou multidimensional
Forma dos dados Esquema de cubo, estrela ou floco de neve
Flexibilidade de consulta Altamente flexível
Escala Grandes, centenas de gigabytes (GBs) até múltiplos petabytes (PBs)

Quando usar esta solução

Considere usar o OLAP para os seguintes cenários:

  • Você precisa executar consultas analíticas e sob demanda complexas rapidamente, sem afetar negativamente seus sistemas OLTP.

  • Você deseja fornecer aos usuários corporativos uma maneira simples de gerar relatórios de seus dados.

  • Você deseja fornecer várias agregações que permitem que os usuários obtenham resultados rápidos e consistentes.

O OLAP é especialmente útil para aplicação de cálculos de agregação em grandes quantidades de dados. Os sistemas OLAP são otimizados para cenários de leitura pesada. O OLAP também permite que os usuários segmentem dados multidimensionais em segmentos visíveis em duas dimensões, como uma tabela dinâmica. Ou podem filtrar os dados por valores específicos. Os usuários podem realizar esses processos, conhecidos como segmentação e análise detalhada dos dados, independentemente de os dados estarem particionados em várias fontes de dados. Os usuários podem explorar facilmente os dados sem saber os detalhes da análise de dados tradicional.

Os modelos semânticos podem ajudar os usuários empresariais a abstrair complexidades de relações e facilitar a análise rápida dos dados.

Desafios

Os sistemas OLAP também produzem desafios:

  • Transações que fluem de várias fontes atualizam constantemente dados em sistemas OLTP. Os armazenamentos de dados OLAP normalmente são atualizados em intervalos muito mais lentos, dependendo das necessidades comerciais. Os sistemas OLAP atendem a decisões estratégicas de negócios, em vez de respostas imediatas às alterações. Você também deve planejar algum nível de limpeza de dados e orquestração para manter as bases de dados OLAP up-to-date.

  • Ao contrário das tabelas relacionais tradicionais e normalizadas em sistemas OLTP, os modelos de dados OLAP tendem a ser multidimensionais. Portanto, é difícil ou impossível mapeá-los diretamente para modelos orientados a entidade ou de objeto, em que cada atributo corresponde a uma coluna. Em vez disso, os sistemas OLAP normalmente usam um esquema de estrela ou floco de neve em vez da normalização tradicional.

OLAP no Azure

No Azure, os dados em sistemas OLTP, como o Banco de Dados SQL do Azure, são copiados em sistemas OLAP, como Fabric ou Analysis Services. Ferramentas de exploração e visualização de dados, como o Power BI, Excel e opções que não são da Microsoft, conectam-se aos servidores do Analysis Services e fornecem aos usuários insights altamente interativos e visualmente avançados sobre os dados modelados. Você pode usar o SQL Server Integration Services para orquestrar o fluxo de dados de sistemas OLTP para sistemas OLAP. Para implementar SQL Server Integration Services, use o Azure Data Factory.

Os seguintes armazenamentos de dados do Azure atendem aos principais requisitos do OLAP:

O SQL Server Analysis Services fornece o OLAP e a funcionalidade de mineração de dados para aplicativos de business intelligence. Você pode instalar o SQL Server Analysis Services em servidores locais ou hospedá-lo em uma VM (máquina virtual) no Azure. O Analysis Services é um serviço totalmente gerenciado que fornece os mesmos recursos principais que o SQL Server Analysis Services. O Analysis Services dá suporte à conexão com várias fontes de dados na nuvem e no local em sua organização.

Os índices columnstore clusterizados estão disponíveis no SQL Server 2014 e superior e no Banco de Dados SQL. Esses índices são ideais para cargas de trabalho OLAP. A partir do SQL Server 2016, incluindo o Banco de Dados SQL, você pode aproveitar o HTAP (processamento transacional e analítico) híbrido por meio de índices columnstore não clusterizados atualizáveis. Use o HTAP para executar o processamento OLTP e OLAP na mesma plataforma. Essa abordagem elimina a necessidade de várias cópias de seus dados e sistemas OLTP e OLAP separados. Para obter mais informações, consulte Columnstore para análise operacional em tempo real.

Principais critérios de seleção

Para restringir as opções, responda às seguintes perguntas:

  • Deseja um serviço gerenciado em vez de gerenciar seus próprios servidores?

  • Você precisa da ID do Microsoft Entra para autenticação segura?

  • Você precisa integrar dados de várias fontes, além do armazenamento de dados OLTP?

  • Deseja realizar análises em tempo real?

    O Fabric Real-Time Intelligence é um serviço poderoso no Fabric que você pode usar para extrair insights e visualizar seus dados em movimento. Ele fornece uma solução de ponta a ponta para cenários controlados por eventos, dados de streaming e logs de dados. Se você gerencia GBs ou PBs de dados, todos os dados organizacionais em movimento convergem no hub Real-Time.

  • Você precisa usar dados pré-agregados, por exemplo, para fornecer modelos semânticos que facilitam a análise para usuários empresariais?

    Em caso afirmativo, escolha uma opção que dá suporte a cubos multidimensionais ou modelos semânticos de tabela.

    Forneça agregações para ajudar os usuários a calcular consistentemente as agregações de dados. Os dados pré-agregados também podem fornecer um grande aumento de desempenho se você tiver várias colunas em várias linhas. Você pode pré-agregar dados em cubos multidimensionais ou modelos semânticos tabulares.

Matriz de funcionalidades

As tabelas a seguir resumem as principais diferenças de funcionalidades entre esses serviços:

  • Tecido
  • Serviços de análise
  • SQL Server Analysis Services
  • SQL Server com índices columnstore
  • Banco de Dados SQL com índices do tipo columnstore

Funcionalidades gerais

Capacidade Tecido Serviços de análise SQL Server Analysis Services SQL Server com índices de columnstore Banco de Dados SQL com índices de armazenamento em colunas
É um serviço gerenciado Sim Sim Não Não Sim
MPP Sim Não Não Não Não
Dá suporte a cubos multidimensionais Não Não Sim Não Não
Dá suporte a modelos semânticos de tabela Sim Sim Sim Não Não
Integra facilmente várias fontes de dados Sim Sim Sim Não 1 Não 1
Dá suporte à análise em tempo real Sim Não Não Sim Sim
Requer um processo para copiar dados de fontes Opcional 3 Sim Sim Não Não
Integração no Microsoft Entra Sim Sim Não Não 2 Sim

[1] O SQL Server e o Banco de Dados SQL não podem consultar e integrar várias fontes de dados externas, mas você pode criar um pipeline para executar essas funções usando o SQL Server Integration Services ou o Azure Data Factory. O SQL Server hospedado pela VM do Azure tem mais opções, como servidores vinculados e PolyBase. Para obter mais informações, consulte Escolha uma tecnologia de orquestração de pipeline de dados.

[2] Uma conta do Microsoft Entra não dá suporte à conexão ao SQL Server hospedado pela VM do Azure. Em vez disso, use uma conta do Windows Server Active Directory de domínio.

[3] O Fabric fornece flexibilidade para integrar fontes de dados movendo dados para o OneLake por meio de pipelines do Azure Data Factory ou por espelhamento. Você também pode criar atalhos ou fazer análise em tempo real em fluxos de dados sem mover os dados.

Funcionalidades de escalabilidade

Capacidade Tecido Serviços de análise SQL Server Analysis Services SQL Server com índices columnstore Banco de Dados SQL com índices em columnstore
Servidores regionais redundantes para alta disponibilidade Sim Sim Não Sim Sim
Dá suporte à expansão da consulta Sim Sim Não Sim Sim
Escalabilidade dinâmica, escalar verticalmente Sim Sim Não Sim Sim

Próximas etapas