Compartilhar via


Processamento analítico online

O processamento analítico on-line (OLAP) é uma tecnologia que organiza grandes bancos de dados de negócios para realizar cálculos complexos e análise de tendências. Esse método permite consultas complexas sem interromper os sistemas transacionais.

As transações comerciais e os 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 registros 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 eficientemente 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 limpos para uma análise eficaz. Os bancos de dados OLAP geralmente preservam dados históricos para análise de séries temporais.

Os sistemas OLAP tradicionalmente usam cubos de dados multidimensionais para organizar dados de uma forma que ofereça 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 as escalas de dados e computação aumentam, os sistemas OLAP fazem a transição para arquiteturas de processamento paralelo maciço (MPP) suportadas pelo Microsoft Fabric . Para obter mais informações, consulte Fabric analytical data store.

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

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

Modelação 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 rastrear um equipamento usando um 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 o 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 facilmente consultar dados sem executar agregações e junções sobre o esquema subjacente. As colunas geralmente são renomeadas para nomes mais amigáveis para tornar o contexto e o significado dos dados mais óbvios.

A modelagem semântica é predominantemente destinada a cenários intensivos de leitura, como análise e inteligência empresarial (Processamento Analítico Online - OLAP), ao invés de Processamento de Transações Online (OLTP) com escrita intensiva. A modelagem semântica se adapta 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ório os exibam corretamente.
  • A lógica de negócios e os cálculos são definidos.
  • Estão incluídos cálculos orientados para o tempo.
  • Os dados são frequentemente integrados a partir de várias fontes.
  • São suportadas análises em tempo real.

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

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

Existem dois tipos principais de modelos semânticos:

  • Os modelos tabulares 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. Código e script usam metadados OLAP.

  • Os 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 de forma eficaz.

Exemplo de caso de uso

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

Eles poderiam 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 que os usuários precisam em um modelo semântico. Os usuários podem consultar mais facilmente o modelo semântico usando uma ferramenta de relatório de sua escolha. Os dados que o modelo semântico fornece vêm de um data warehouse, que garante que todos os usuários visualizem uma única fonte de verdade. O modelo semântico também fornece nomes de tabelas e colunas fáceis de usar, define relações entre tabelas, inclui descrições e cálculos e impõe segurança em nível de linha.

Traços típicos da modelagem semântica

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

Requisito Descrição
Esquema Esquema na gravação, fortemente imposto
Usa transações Não
Estratégia de bloqueio Nenhum
Atualizável Não, normalmente exige a recomputação do cubo
Anexável Não, normalmente requer recalcular o cubo
Carga de trabalho Leituras pesadas, somente leitura
Indexação Indexação multidimensional
Tamanho do datum Tamanho pequeno a extremamente grande
Modelo Tabela ou multidimensional
Forma de dados Esquema de cubo, estrela ou floco de neve
Flexibilidade de consulta Altamente flexível
Escala De centenas de gigabytes (GBs) a vários petabytes (PBs)

Quando utilizar esta solução

Considere o uso do 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 a partir de seus dados.

  • Você deseja fornecer várias agregações que permitam aos usuários obter resultados rápidos e consistentes.

OLAP é especialmente útil para aplicar cálculos agregados sobre 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 fatias que podem ser exibidas em duas dimensões, como uma tabela dinâmica. Ou podem filtrar os dados por valores específicos. Os usuários podem fazer esses processos, conhecidos como fatiamento e dicing dos dados, independentemente de os dados estarem particionados em várias fontes de dados. Os usuários podem facilmente explorar os dados sem conhecer os detalhes da análise de dados tradicional.

Os modelos semânticos podem ajudar os usuários de negócios a abstrair as complexidades do relacionamento e facilitar a análise rápida dos dados.

Desafios

Os sistemas OLAP também produzem desafios:

  • As transações que fluem de várias fontes atualizam constantemente os dados em sistemas OLTP. Os armazenamentos de dados OLAP normalmente são atualizados em intervalos muito mais lentos, dependendo das necessidades dos negócios. Os sistemas OLAP adequam-se a decisões estratégicas de negócios, em vez de respostas imediatas a mudanças. Você também deve planejar algum nível de limpeza e orquestração de dados para manter os armazenamentos de dados OLAP up-toatualizados.

  • Ao contrário das tabelas relacionais normalizadas tradicionais em sistemas OLTP, os modelos de dados OLAP tendem a ser multidimensionais. Portanto, é difícil ou impossível mapeá-los diretamente para modelos de relacionamento de entidade ou orientados a objetos, onde 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 para sistemas OLAP como Malha ou Analysis Services. Ferramentas de exploração e visualização de dados, como 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 informações altamente interativas e visualmente ricas 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 o SQL Server Integration Services, use Azure Data Factory.

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

O SQL Server Analysis Services fornece OLAP e 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 máquina virtual (VM) no Azure. O Analysis Services é um serviço totalmente gerenciado que fornece os mesmos recursos principais do SQL Server Analysis Services. O Analysis Services oferece 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 processamento analítico e transacional híbrido (HTAP) por meio de índices columnstore não clusterizados atualizáveis. Use 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:

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

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

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

  • Deseja realizar análises em tempo real?

    O Fabric Real-Time Intelligence é um serviço poderoso dentro do Fabric que você pode usar para extrair insights e visualizar seus dados em movimento. Fornece uma solução integrada para cenários orientados a eventos, transmissão de dados em tempo real e registos de dados. Quer você gerencie 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 facilitem a análise para usuários corporativos?

    Em caso afirmativo, escolha uma opção que suporte cubos multidimensionais ou modelos semânticos tabulares.

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

Matriz de capacidades

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

  • Tecido
  • Serviços de análise
  • SQL Server Analysis Services
  • SQL Server com índices de armazenamento em colunas
  • Banco de dados SQL com índices de armazenamento em colunas

Capacidades gerais

Capacidade Tecido Serviços de análise SQL Server Analysis Services SQL Server com índices de armazém de colunas 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
Suporta cubos multidimensionais Não Não Sim Não Não
Suporta modelos semânticos tabulares Sim Sim Sim Não Não
Integra facilmente várias fontes de dados Sim Sim Sim N.o 1 N.o 1
Suporta análises 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 com o 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 Microsoft Entra não suporta a ligação ao SQL Server alojado na VM do Azure. Em vez disso, use uma conta de domínio do Ative Directory do Windows Server.

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

Recursos de escalabilidade

Capacidade Tecido Serviços de análise SQL Server Analysis Services SQL Server com índices tipo coluna Banco de dados SQL com índices columnstore
Servidores regionais redundantes para alta disponibilidade Sim Sim Não Sim Sim
Suporta dimensionamento de consulta Sim Sim Não Sim Sim
Escalabilidade dinâmica, aumento de escala Sim Sim Não Sim Sim

Próximos passos