Processamento analítico online (OLAP)Online analytical processing (OLAP)

Processamento analítico online (OLAP) é uma tecnologia que organiza os bancos de dados de grandes empresas e oferece suporte à análise complexa.Online analytical processing (OLAP) is a technology that organizes large business databases and supports complex analysis. Ele pode ser usado para executar consultas de análise complexas sem afetar negativamente os sistemas transacionais.It can be used to perform complex analytical queries without negatively affecting transactional systems.

As bases de dados que um negócio utiliza para armazenar todas as suas transações e registos são chamados processamento de transações online (OLTP) bases de dados.The databases that a business uses to store all its transactions and records are called online transaction processing (OLTP) databases. Normalmente, esses bancos de dados têm registos que são introduzidos um cada vez.These databases usually have records that are entered one at a time. Muitas vezes, contêm uma grande quantidade de informações que são importantes para a organização.Often they contain a great deal of information that is valuable to the organization. No entanto, as bases de dados que são utilizados para OLTP, não foram concebidas para análise.The databases that are used for OLTP, however, were not designed for analysis. Portanto, obter respostas a partir destas bases de dados é dispendiosa em termos de tempo e esforço.Therefore, retrieving answers from these databases is costly in terms of time and effort. Sistemas OLAP foram projetados para ajudar a extrair estas informações de inteligência de negócio dos dados num alto desempenho forma.OLAP systems were designed to help extract this business intelligence information from the data in a highly performant way. Isto acontece porque as bases de dados OLAP são otimizados para pesado de leitura, escrita baixos cargas de trabalho.This is because OLAP databases are optimized for heavy read, low write workloads.

OLAP no Azure

Modelação semânticaSemantic modeling

Um modelo de dados semântico é um modelo conceitual que descreve o significado dos elementos de dados que nele contidos.A semantic data model is a conceptual model that describes the meaning of the data elements it contains. As organizações têm, muitas vezes, seus próprios termos para coisas como, por vezes, com sinónimos, ou até mesmo significados durante o prazo da mesmo.Organizations often have their own terms for things, sometimes with synonyms, or even different meanings for the same term. Por exemplo, uma base de dados de inventário pode controlar uma parte do equipamento com um ID de recurso e um número de série, mas uma base de dados de vendas pode se referir ao número de série, como o ID de recurso.For example, an inventory database might track a piece of equipment with an asset ID and a serial number, but a sales database might refer to the serial number as the asset ID. Não é possível simple para relacionar estes valores sem um modelo que descreve a relação.There is no simple way to relate these values without a model that describes the relationship.

Modelação semântica fornece um nível de abstração sobre o esquema de base de dados, para que os usuários não precisam saber as estruturas de dados subjacente.Semantic modeling provides a level of abstraction over the database schema, so that users don't need to know the underlying data structures. Isto torna mais fácil para os utilizadores finais para consultar dados sem efetuar agregações e associações sobre o esquema subjacente.This makes it easier for end users to query data without performing aggregates and joins over the underlying schema. Além disso, normalmente colunas são nome mudadas para nomes mais amigáveis, para que o contexto e o significado dos dados são mais óbvias.Also, usually columns are renamed to more user-friendly names, so that the context and meaning of the data are more obvious.

Modelação semântica é, predominantemente, utilizado para cenários de leitura intensiva, como a análise e business intelligence (OLAP), em vez de mais pesadas de escrita dados processamento transacional (OLTP).Semantic modeling is predominately used for read-heavy scenarios, such as analytics and business intelligence (OLAP), as opposed to more write-heavy transactional data processing (OLTP). Isto é principalmente devido à natureza de uma camada de semântica típica:This is mostly due to the nature of a typical semantic layer:

  • Comportamentos de agregação são definidos para que as ferramentas de relatório exibi-los corretamente.Aggregation behaviors are set so that reporting tools display them properly.
  • Lógica de negócio e cálculos são definidos.Business logic and calculations are defined.
  • Estão incluídos os cálculos orientados a tempo.Time-oriented calculations are included.
  • Dados, muitas vezes, estão integrados de várias origens.Data is often integrated from multiple sources.

Tradicionalmente, a camada de semântica é posicionada sobre um armazém de dados por esses motivos.Traditionally, the semantic layer is placed over a data warehouse for these reasons.

Diagrama de exemplo de uma camada de semântica entre um armazém de dados e uma ferramenta de geração de relatórios

Existem dois tipos principais de modelos semânticos a:There are two primary types of semantic models:

  • Tabela.Tabular. Utiliza construções de modelagem relacional (modelo, tabelas, colunas).Uses relational modeling constructs (model, tables, columns). Internamente, os metadados é herdado de OLAP modelagem construções (cubos, dimensões, medidas).Internally, metadata is inherited from OLAP modeling constructs (cubes, dimensions, measures). Código e script usam metadados OLAP.Code and script use OLAP metadata.
  • Multidimensional.Multidimensional. Utiliza o OLAP tradicional modelagem construções (cubos, dimensões, medidas).Uses traditional OLAP modeling constructs (cubes, dimensions, measures).

Serviço do Azure relevante:Relevant Azure service:

Caso de utilização de exemploExample use case

Uma organização tiver dados armazenados numa base de dados grandes.An organization has data stored in a large database. Ele deseja disponibilizar estes dados para os utilizadores empresariais e os clientes para criar seus próprios relatórios e fazer algumas análises.It wants to make this data available to business users and customers to create their own reports and do some analysis. Uma opção é apenas dar aos utilizadores acesso direto ao banco de dados.One option is just to give those users direct access to the database. No entanto, existem várias desvantagens para se fazer isso, incluindo o gerenciamento da segurança e controlar o acesso.However, there are several drawbacks to doing this, including managing security and controlling access. Além disso, o design do banco de dados, incluindo os nomes de tabelas e colunas, pode ser difícil para um usuário compreender.Also, the design of the database, including the names of tables and columns, may be hard for a user to understand. Será necessário aos utilizadores saber quais tabelas para consultar, como devem ser associadas essas tabelas e outra lógica comercial que deve ser aplicada para obter os resultados corretos.Users would need to know which tables to query, how those tables should be joined, and other business logic that must be applied to get the correct results. Também será necessário aos utilizadores saber como o SQL, mesmo para começar a utilizar uma linguagem de consulta.Users would also need to know a query language like SQL even to get started. Normalmente, isso nos leva para vários utilizadores, as mesmas métricas de relatórios, mas com resultados diferentes.Typically this leads to multiple users reporting the same metrics but with different results.

Outra opção é encapsular todas as informações que os utilizadores precisam para um modelo semântico.Another option is to encapsulate all of the information that users need into a semantic model. O modelo semântico pode ser consultado mais facilmente por utilizadores com uma ferramenta de geração de relatórios de sua preferência.The semantic model can be more easily queried by users with a reporting tool of their choice. Os dados fornecidos pelo modelo semântico são obtidos a partir de um armazém de dados, garantindo que todos os utilizadores veem uma única versão da verdade.The data provided by the semantic model is pulled from a data warehouse, ensuring that all users see a single version of the truth. O modelo semântico também fornece a tabela amigável e nomes de colunas, as relações entre tabelas, as descrições, cálculos e segurança ao nível da linha.The semantic model also provides friendly table and column names, relationships between tables, descriptions, calculations, and row-level security.

Características típicas de modelação semânticaTypical traits of semantic modeling

Modelação semântica e processamento analítico tende a ter as seguintes características:Semantic modeling and analytical processing tends to have the following traits:

RequisitoRequirement DescriçãoDescription
EsquemaSchema Esquema na escrita, fortemente impostaSchema on write, strongly enforced
Utilizar transaçõesUses Transactions NãoNo
Estratégia de bloqueioLocking Strategy NenhumaNone
AtualizávelUpdateable Não (normalmente, requer recomputing cubo)No (typically requires recomputing cube)
AppendableAppendable Não (normalmente, requer recomputing cubo)No (typically requires recomputing cube)
Carga de trabalhoWorkload Leituras pesadas, só de leituraHeavy reads, read-only
IndexaçãoIndexing Indexação multidimensionaisMultidimensional indexing
Tamanho de DatumDatum size Pequeno e médio portesSmall to medium sized
ModeloModel MultidimensionaisMultidimensional
Forma de dados:Data shape: Esquema de cubo ou star/floco de neveCube or star/snowflake schema
Flexibilidade de consultaQuery flexibility Altamente flexívelHighly flexible
Dimensionamento:Scale: Grande (GBs 10s 100s)Large (10s-100s GBs)

Quando utilizar esta soluçãoWhen to use this solution

Considere OLAP nos seguintes cenários:Consider OLAP in the following scenarios:

  • Precisa executar consultas analíticas e ad-hoc complexas rapidamente, sem afetar negativamente os seus sistemas OLTP.You need to execute complex analytical and ad hoc queries rapidly, without negatively affecting your OLTP systems.
  • Pretende fornecer aos utilizadores uma forma simples de gerar relatórios a partir dos seus dadosYou want to provide business users with a simple way to generate reports from your data
  • Deseja fornecer um número de agregações que permitirá aos utilizadores obter resultados rápidos e consistentes.You want to provide a number of aggregations that will allow users to get fast, consistent results.

OLAP é especialmente útil para a aplicação de agregação cálculos em grandes volumes de dados.OLAP is especially useful for applying aggregate calculations over large amounts of data. Sistemas OLAP estão otimizados para cenários de leitura intensiva, como a análise e business intelligence.OLAP systems are optimized for read-heavy scenarios, such as analytics and business intelligence. OLAP permite aos utilizadores aos dados multidimensionais do segmento em partes que podem ser visualizados em duas dimensões (por exemplo, uma tabela dinâmica) ou filtrar os dados por valores específicos.OLAP allows users to segment multi-dimensional data into slices that can be viewed in two dimensions (such as a pivot table) or filter the data by specific values. Este processo é por vezes, denominado "dividir e repartir" os dados e pode ser feito independentemente se os dados estão particionados em várias origens de dados.This process is sometimes called "slicing and dicing" the data, and can be done regardless of whether the data is partitioned across several data sources. Isto ajuda os usuários encontrem tendências, identificar padrões e explorar os dados sem ter que saber os detalhes de análise de dados tradicionais.This helps users to find trends, spot patterns, and explore the data without having to know the details of traditional data analysis.

Modelos semânticos podem ajudar os utilizadores empresariais, abstrair as complexidades de relação e torná-lo mais fácil de analisar os dados rapidamente.Semantic models can help business users abstract relationship complexities and make it easier to analyze data quickly.

DesafiosChallenges

Para todos os benefícios de sistemas OLAP promovem, produzem alguns desafios:For all the benefits OLAP systems provide, they do produce a few challenges:

  • Ao passo que os dados em sistemas OLTP é constantemente atualizados por meio de transações fluir em várias origens, arquivos de dados do OLAP normalmente são atualizados a intervalos muito mais lenta, consoante as necessidades de negócio.Whereas data in OLTP systems is constantly updated through transactions flowing in from various sources, OLAP data stores are typically refreshed at a much slower intervals, depending on business needs. Isso significa que os sistemas OLAP mais adequados para a tomada de decisões comerciais estratégicas, em vez de respostas de imediato a alterações.This means OLAP systems are better suited for strategic business decisions, rather than immediate responses to changes. Além disso, algum nível de limpeza de dados e orquestração tem de ser planeado para manter os arquivos de dados OLAP atualizados.Also, some level of data cleansing and orchestration needs to be planned to keep the OLAP data stores up-to-date.
  • Ao contrário do tradicionais, normalizadas, relacionais foram encontradas tabelas em sistemas OLTP, os modelos de dados do OLAP tendem a ser multidimensionais.Unlike traditional, normalized, relational tables found in OLTP systems, OLAP data models tend to be multidimensional. Assim, é difícil ou impossível de são mapeadas diretamente para a relação de entidade ou modelos de orientada a objeto, onde cada atributo mapeado para uma coluna.This makes it difficult or impossible to directly map to entity-relationship or object-oriented models, where each attribute is mapped to one column. Em vez disso, os sistemas OLAP normalmente usam um esquema em estrela ou floco de neve, em vez de normalização tradicional.Instead, OLAP systems typically use a star or snowflake schema in place of traditional normalization.

OLAP no AzureOLAP in Azure

No Azure, os dados mantidos em sistemas OLTP, como o Azure SQL Database é copiado para o sistema OLAP, como do Azure Analysis Services.In Azure, data held in OLTP systems such as Azure SQL Database is copied into the OLAP system, such as Azure Analysis Services. Ferramentas de exploração e visualização de dados como Power BI, Excel e opções de terceiros ligar aos servidores do Analysis Services e fornecer aos utilizadores informações altamente interativo e visualmente rico sobre os dados modelados.Data exploration and visualization tools like Power BI, Excel, and third-party options connect to Analysis Services servers and provide users with highly interactive and visually rich insights into the modeled data. O fluxo de dados a partir de dados OLTP para OLAP é normalmente orquestrado com o SQL Server Integration Services, que pode ser executado usando do Azure Data Factory.The flow of data from OLTP data to OLAP is typically orchestrated using SQL Server Integration Services, which can be executed using Azure Data Factory.

No Azure, todos os arquivos de dados seguinte irão cumprir os requisitos de núcleos para OLAP:In Azure, all of the following data stores will meet the core requirements for OLAP:

SQL Server Analysis Services (SSAS) oferece OLAP e a funcionalidade de mineração de dados para aplicações de business intelligence.SQL Server Analysis Services (SSAS) offers OLAP and data mining functionality for business intelligence applications. Pode instalar o SSAS em servidores locais ou alojar uma máquina virtual no Azure.You can either install SSAS on local servers, or host within a virtual machine in Azure. O Azure Analysis Services é um serviço totalmente gerido que fornece as mesmas funcionalidades principais SSAS.Azure Analysis Services is a fully managed service that provides the same major features as SSAS. O Azure Analysis Services suporta a ligação a várias origens de dados na cloud e no local na sua organização.Azure Analysis Services supports connecting to various data sources in the cloud and on-premises in your organization.

Os índices Columnstore em cluster estão disponíveis no SQL Server 2014 e superior, bem como a base de dados SQL do Azure e são ideais para cargas de trabalho OLAP.Clustered Columnstore indexes are available in SQL Server 2014 and above, as well as Azure SQL Database, and are ideal for OLAP workloads. No entanto, a partir do SQL Server 2016 (incluindo o Azure SQL Database), pode tirar partido da híbrida transacional/análise de processamento (HTAP) através da utilização de índices columnstore não em cluster atualizável.However, beginning with SQL Server 2016 (including Azure SQL Database), you can take advantage of hybrid transactional/analytics processing (HTAP) through the use of updateable nonclustered columnstore indexes. HTAP permite-lhe efetuar o OLTP e OLAP processamento na mesma plataforma, que remove a necessidade de armazenar várias cópias dos seus dados e elimina a necessidade de sistemas distintos de OLTP e OLAP.HTAP enables you to perform OLTP and OLAP processing on the same platform, which removes the need to store multiple copies of your data, and eliminates the need for distinct OLTP and OLAP systems. Para obter mais informações, consulte introdução ao Columnstore para análises operacionais em tempo real.For more information, see Get started with Columnstore for real-time operational analytics.

Principais critérios de seleçãoKey selection criteria

Para limitar as opções, comece por resposta a estas perguntas:To narrow the choices, start by answering these questions:

  • Pretende que um serviço gerido, em vez de gerir os seus próprios servidores?Do you want a managed service rather than managing your own servers?

  • Precisa autenticação segura com o Azure Active Directory (Azure AD)?Do you require secure authentication using Azure Active Directory (Azure AD)?

  • Deseja realizar análises em tempo real?Do you want to conduct real-time analytics? Se assim for, restrinja as opções para as que suportam a análise em tempo real.If so, narrow your options to those that support real-time analytics.

    Análise em tempo real neste contexto aplica-se a uma única origem de dados, por exemplo, um aplicativo (ERP), o que é executado um operacional e uma carga de trabalho de análise de planeamento de recursos de empresa.Real-time analytics in this context applies to a single data source, such as an enterprise resource planning (ERP) application, that will run both an operational and an analytics workload. Se precisar de integrar dados de várias origens ou precisam de um desempenho extremas analytics através da utilização de dados previamente agregados, como cubos, ainda poderá necessitar de um armazém de dados separado.If you need to integrate data from multiple sources, or require extreme analytics performance by using pre-aggregated data such as cubes, you might still require a separate data warehouse.

  • Precisa de utilizar dados pré-agregados, por exemplo, para fornecer modelos semânticos que tornam a análise dos utilizadores empresariais mais amigável?Do you need to use pre-aggregated data, for example to provide semantic models that make analytics more business user friendly? Se Sim, escolha uma opção que oferece suporte a cubos multidimensionais ou modelos semânticos de tabela.If yes, choose an option that supports multidimensional cubes or tabular semantic models.

    Fornecer agregações pode ajudar a calcular consistentemente agregados de dados de utilizadores.Providing aggregates can help users consistently calculate data aggregates. Dados agregados previamente também podem fornecer um aumento do desempenho grande ao lidar com várias colunas em número de linhas.Pre-aggregated data can also provide a large performance boost when dealing with several columns across many rows. Dados podem ser pré-agregados em cubos multidimensionais ou modelos semânticos de tabela.Data can be pre-aggregated in multidimensional cubes or tabular semantic models.

  • Precisa integrar dados de várias origens, para além de seu arquivo de dados OLTP?Do you need to integrate data from several sources, beyond your OLTP data store? Se assim for, considere as opções que integre facilmente a várias origens de dados.If so, consider options that easily integrate multiple data sources.

Matriz de capacidadeCapability matrix

As tabelas seguintes resumem as principais diferenças nos recursos.The following tables summarize the key differences in capabilities.

Capacidades geraisGeneral capabilities

Azure Analysis ServicesAzure Analysis Services SQL Server Analysis ServicesSQL Server Analysis Services SQL Server com índices ColumnstoreSQL Server with Columnstore Indexes Base de dados SQL do Azure com índices ColumnstoreAzure SQL Database with Columnstore Indexes
É serviço geridoIs managed service SimYes NãoNo NãoNo SimYes
Oferece suporte a cubos multidimensionaisSupports multidimensional cubes NãoNo SimYes NãoNo NãoNo
Suporta modelos em tabela de semânticosSupports tabular semantic models SimYes SimYes NãoNo NãoNo
Integre facilmente a várias origens de dadosEasily integrate multiple data sources SimYes SimYes N.º 1No 1 N.º 1No 1
Suporta as análises em tempo realSupports real-time analytics NãoNo NãoNo SimYes SimYes
Requer o processo para copiar dados de origensRequires process to copy data from source(s) SimYes SimYes NãoNo NãoNo
Integração do Azure ADAzure AD integration SimYes NãoNo Não 2No 2 SimYes

[1] embora o SQL Server e base de dados do Azure SQL não podem ser utilizado para consultar a partir do e integrar a várias origens de dados externas, pode ainda criar um pipeline que faz isso usando SSIS ou do Azure Data Factory.[1] Although SQL Server and Azure SQL Database cannot be used to query from and integrate multiple external data sources, you can still build a pipeline that does this for you using SSIS or Azure Data Factory. O SQL Server alojado numa VM do Azure tem opções adicionais, como servidores vinculados e PolyBase.SQL Server hosted in an Azure VM has additional options, such as linked servers and PolyBase. Para obter mais informações, consulte Pipeline de orquestração, o fluxo de controlo e o movimento de dados.For more information, see Pipeline orchestration, control flow, and data movement.

A ligar ao SQL Server em execução numa máquina Virtual do Azure [2] não é suportada através de uma conta do Azure AD.[2] Connecting to SQL Server running on an Azure Virtual Machine is not supported using an Azure AD account. Utilize um conta do Active Directory do domínio em vez disso.Use a domain Active Directory account instead.

Capacidades de escalabilidadeScalability Capabilities

Azure Analysis ServicesAzure Analysis Services SQL Server Analysis ServicesSQL Server Analysis Services SQL Server com índices ColumnstoreSQL Server with Columnstore Indexes Base de dados SQL do Azure com índices ColumnstoreAzure SQL Database with Columnstore Indexes
Servidores regionais redundantes para elevada disponibilidadeRedundant regional servers for high availability SimYes NãoNo SimYes SimYes
Suporta a consulta aumentar horizontalmenteSupports query scale out SimYes NãoNo SimYes NãoNo
Escalabilidade dinâmica (aumento vertical)Dynamic scalability (scale up) SimYes NãoNo SimYes NãoNo