Partilhar via


Metodologia de sucesso da implementação da Sinapse: Avaliar o ambiente

Nota

Este artigo faz parte da série de artigos de sucesso da implementação do Azure Synapse by design . Para obter uma visão geral da série, consulte Azure Synapse implementation success by design.

A primeira etapa ao implementar o Azure Synapse Analytics é realizar uma avaliação do seu ambiente. Uma avaliação oferece a oportunidade de reunir todas as informações disponíveis sobre seu ambiente existente, requisitos ambientais, requisitos do projeto, restrições, cronogramas e pontos problemáticos. Estas informações constituirão a base de avaliações posteriores e de atividades de pontos de controlo. Ele será inestimável na hora de validar e comparar com a solução do projeto conforme ela é planejada, projetada e desenvolvida. Recomendamos que dedique uma boa quantidade de tempo para reunir todas as informações e certifique-se de ter discussões necessárias com os grupos relevantes. Os grupos relevantes podem incluir partes interessadas do projeto, usuários empresariais, designers de soluções e especialistas no assunto (PMEs) da solução e do ambiente existentes.

A avaliação se tornará um guia para ajudá-lo a avaliar o design da solução e fazer recomendações de tecnologia informadas para implementar o Azure Synapse.

Avaliação da carga de trabalho

A avaliação da carga de trabalho diz respeito ao ambiente, funções de carga de trabalho analítica, ETL/ELT, rede e segurança, ambiente do Azure e consumo de dados.

Ambiente

Para o ambiente, avalie os seguintes pontos.

  • Descreva sua carga de trabalho analítica existente:
    • Quais são as cargas de trabalho (como data warehouse ou big data)?
    • Como essa carga de trabalho está ajudando o negócio? Quais são os cenários de casos de uso?
    • Qual é o impulsionador de negócios para esta plataforma analítica e para a potencial migração?
    • Reúna detalhes sobre a arquitetura, o design e as opções de implementação existentes.
    • Reúna detalhes sobre todos os componentes e consumidores dependentes upstream e downstream existentes.
  • Você está migrando um data warehouse existente (como Microsoft SQL Server, Microsoft Analytics Platform System (APS), Netezza, Snowflake ou Teradata)?
  • Você está migrando uma plataforma de big data (como Cloudera ou Hortonworks)?
  • Reúna a arquitetura e os diagramas de fluxo de dados para o ambiente analítico atual.
  • Onde estão localizadas as fontes de dados para suas cargas de trabalho analíticas planejadas (Azure, outros provedores de nuvem ou locais)?
  • Qual é o tamanho total dos conjuntos de dados existentes (históricos e incrementais)? Qual é a taxa atual de crescimento do(s) seu(s) conjunto(s) de dados? Qual é a taxa de crescimento projetada dos seus conjuntos de dados para os próximos 2-5 anos?
  • Você tem um data lake existente? Reúna o máximo de detalhes possível sobre tipos de arquivo (como Parquet ou CSV), tamanhos de arquivo e configuração de segurança.
  • Você tem dados semiestruturados ou não estruturados para processar e analisar?
  • Descrever a natureza do processamento de dados (processamento em lote ou em tempo real).
  • Você precisa de exploração interativa de dados de dados relacionais, data lake ou outras fontes?
  • Você precisa de análise e exploração de dados em tempo real a partir de fontes de dados operacionais?
  • Quais são os pontos problemáticos e as limitações no ambiente atual?
  • Quais ferramentas de controle de origem e DevOps você está usando atualmente?
  • Você tem um caso de uso para criar uma solução analítica híbrida (nuvem e local), somente nuvem ou multinuvem?
  • Reúna informações sobre o ambiente de nuvem existente. É um provedor de nuvem única ou um provedor de várias nuvens?
  • Reúna planos sobre o futuro ambiente de nuvem. Será um provedor de nuvem única ou um provedor de várias nuvens?
  • Quais são os requisitos RPO/RTO/HA/SLA no ambiente existente?
  • Quais são os requisitos de RPO/RTO/HA/SLA no ambiente planejado?

Funções de carga de trabalho analítica

Para as funções de carga de trabalho analítica, avalie os seguintes pontos.

  • Descreva as diferentes funções (cientista de dados, engenheiro de dados, analista de dados e outros).
  • Descreva o requisito de controle de acesso à plataforma analítica para essas funções.
  • Identifique o proprietário da plataforma responsável por provisionar recursos de computação e conceder acesso.
  • Descreva como diferentes funções de dados colaboram atualmente.
  • Existem várias equipas a colaborar na mesma plataforma analítica? Em caso afirmativo, quais são os requisitos de controlo de acesso e isolamento para cada uma destas equipas?
  • Quais são as ferramentas de cliente que os usuários finais usam para interagir com a plataforma analítica?

ETL/ELT, transformação e orquestração

Para ETL/ELT, transformação e orquestração, avalie os seguintes pontos.

  • Quais ferramentas você está usando hoje para ingestão de dados (ETL ou ELT)?
  • Onde essas ferramentas existem no ambiente existente (local ou na nuvem)?
  • Quais são seus requisitos atuais de carga e atualização de dados (em tempo real, microlote, por hora, diariamente, semanalmente ou mensalmente)?
  • Descreva os requisitos de transformação para cada camada (big data, data lake, data warehouse).
  • Qual é a abordagem de programação atual para transformar os dados (no-code, low-code, programação como SQL, Python, Scala, C# ou outros)?
  • Qual é a abordagem de programação planejada preferida para transformar os dados (no-code, low-code, programação como SQL, Python, Scala, C# ou outros)?
  • Quais ferramentas estão atualmente em uso para orquestração de dados para automatizar o processo orientado por dados?
  • Onde estão localizadas as fontes de dados para seu ETL existente (Azure, outro provedor de nuvem ou local)?
  • Quais são as ferramentas de consumo de dados existentes (relatórios, ferramentas de BI, ferramentas de código aberto) que requerem integração com a plataforma analítica?
  • Quais são as ferramentas de consumo de dados planejadas (relatórios, ferramentas de BI, ferramentas de código aberto) que exigirão integração com a plataforma analítica?

Redes e segurança

Para rede e segurança, avalie os seguintes pontos.

  • Que requisitos regulamentares tem para os seus dados?
  • Se os seus dados contiverem conteúdo de cliente, indústria de cartões de pagamento (PCI) ou dados da Lei de Portabilidade e Responsabilidade de Seguros de Saúde de 1996 (HIPAA), o seu grupo de segurança certificou o Azure para estes dados? Em caso afirmativo, para que serviços do Azure?
  • Descreva seus requisitos de autorização e autenticação de usuário.
  • Existem problemas de segurança que possam limitar o acesso aos dados durante a implementação?
  • Há dados de teste disponíveis para uso durante o desenvolvimento e teste?
  • Descreva os requisitos de segurança de rede organizacional na computação analítica e no armazenamento (restrições de rede privada, rede pública ou firewall).
  • Descreva os requisitos de segurança de rede para ferramentas de cliente para acessar computação analítica e armazenamento (rede emparelhada, ponto de extremidade privado ou outro).
  • Descreva a configuração de rede atual entre o local e o Azure (Azure ExpressRoute, site a site ou outro).

Use as seguintes listas de verificação de possíveis requisitos para orientar sua avaliação.

  • Proteção de dados:
    • Encriptação em trânsito
    • Criptografia em repouso (chaves padrão ou chaves gerenciadas pelo cliente)
    • Deteção e classificação de dados
  • Controlo de acessos:
    • Segurança ao nível do objeto
    • Segurança ao nível da linha
    • Segurança ao nível da coluna
    • Máscara de dados dinâmica
  • Autenticação:
    • Login SQL
    • Microsoft Entra ID
    • Multi-factor authentication (MFA) (NIST – Noções básicas: autenticação multifator [MFA])
  • Segurança da rede:
    • Redes virtuais
    • Firewall
    • Azure ExpressRoute
  • Proteção contra ameaças:
    • Deteção de ameaças
    • Auditoria
    • Avaliação de vulnerabilidades

Para obter mais informações, consulte o white paper de segurança do Azure Synapse Analytics.

Ambiente do Azure

Para o ambiente do Azure, avalie os seguintes pontos.

  • Você está usando o Azure no momento? É usado para cargas de trabalho de produção?
  • Se estiver a utilizar o Azure, que serviços está a utilizar? Que regiões está a utilizar?
  • Você usa o Azure ExpressRoute? Qual é a sua largura de banda?
  • Você tem aprovação de orçamento para provisionar os serviços necessários do Azure?
  • Como você provisiona e gerencia recursos atualmente (Azure Resource Manager (ARM) ou Terraform)?
  • Sua equipe principal está familiarizada com o Synapse Analytics? É necessária alguma formação?

Consumo de dados

Para o consumo de dados, avalie os seguintes pontos.

  • Descreva como e quais ferramentas você usa atualmente para executar atividades como ingerir, explorar, preparar e visualizar dados.
  • Identifique quais ferramentas você planeja usar para realizar atividades como ingerir, explorar, preparar e visualizar dados.
  • Quais aplicativos estão planejados para interagir com a plataforma analítica (Microsoft Power BI, Microsoft Excel, Microsoft SQL Server Reporting Services, Tableau ou outros)?
  • Identificar todos os consumidores de dados.
  • Identifique os requisitos de exportação e compartilhamento de dados.

Avaliação dos serviços do Azure Synapse

A avaliação dos serviços do Azure Synapse diz respeito aos serviços dentro do Azure Synapse. O Azure Synapse tem os seguintes componentes para computação e movimentação de dados:

  • Synapse SQL: Um sistema de consulta distribuído para Transact-SQL (T-SQL) que permite cenários de armazenamento de dados e virtualização de dados. Ele também estende o T-SQL para abordar cenários de streaming e aprendizado de máquina (ML). O Synapse SQL oferece modelos de recursos dedicados e sem servidor.
  • Pool SQL sem servidor: um sistema de processamento de dados distribuído, criado para dados em grande escala e funções computacionais. Não há infraestrutura para configurar ou clusters para manter. Este serviço é adequado para cargas de trabalho não planejadas ou intermitentes. Os cenários recomendados incluem exploração rápida de dados em arquivos diretamente no data lake, data warehouse lógico e transformação de dados brutos.
  • Pool SQL dedicado: representa uma coleção de recursos analíticos que são provisionados ao usar o Synapse SQL. O tamanho de um pool SQL dedicado (anteriormente SQL DW) é determinado por unidades de armazenamento de dados (DWU). Este serviço é adequado para um armazém de dados com cargas de trabalho contínuas previsíveis e de alto desempenho sobre dados armazenados em tabelas SQL. 
  • Pool do Apache Spark: integra profunda e perfeitamente o Apache Spark, que é o mecanismo de big data de código aberto mais popular usado para preparação de dados, engenharia de dados, ETL e ML.
  • Pipelines de integração de dados: o Azure Synapse contém o mesmo mecanismo de integração de dados e experiências que o Azure Data Factory (ADF). Eles permitem que você crie pipelines de ETL avançados em escala sem sair do Azure Synapse.

Para ajudar a determinar o melhor tipo de pool SQL (dedicado ou sem servidor), avalie os seguintes pontos.

  • Deseja criar um data warehouse relacional tradicional reservando poder de processamento para dados armazenados em tabelas SQL?
  • Os seus casos de uso exigem um desempenho previsível?
  • Você deseja construir um data warehouse lógico sobre um data lake?
  • Deseja consultar dados diretamente de um data lake?
  • Deseja explorar dados de um data lake?

A tabela a seguir compara os dois tipos de pool Synapse SQL.

Comparação Conjunto de SQL Dedicado Pool SQL sem servidor
Propostas de valor Recursos totalmente gerenciados de um data warehouse. Previsível e de alto desempenho para cargas de trabalho contínuas. Otimizado para dados gerenciados (carregados). Fácil de começar e explorar os dados do data lake. Melhor custo total de propriedade (TCO) para cargas de trabalho ad hoc e intermitentes. Otimizado para consultar dados em um data lake.
Cargas de Trabalho Ideal para cargas de trabalho contínuas. O carregamento aumenta o desempenho, com mais complexidade. A cobrança por DWU (quando bem dimensionada) será rentável. Ideal para cargas de trabalho ad hoc ou intermitentes. Não há necessidade de carregar dados, por isso é mais fácil iniciar e executar. A cobrança por utilização será vantajosa em termos de custos.
Desempenho de consultas Oferece alta simultaneidade e baixa latência. Suporta opções avançadas de cache, incluindo visualizações materializadas. Há a capacidade de escolher compensações com o gerenciamento de carga de trabalho (WLM). Não é adequado para consultas de painel. Tempos de resposta de milissegundos não são esperados. Funciona apenas com dados externos.

Avaliação de pool SQL dedicado

Para a avaliação do pool SQL dedicado, avalie os seguintes pontos da plataforma.

  • Qual é a plataforma atual de data warehouse (Microsoft SQL Server, Netezza, Teradata, Greenplum ou outros)?
  • Para uma carga de trabalho de migração, determine a marca e o modelo do seu dispositivo para cada ambiente. Inclua detalhes de CPUs, GPUs e memória.
  • Para uma migração de aparelho, quando o hardware foi comprado? O aparelho foi totalmente amortizado? Em caso negativo, quando terminará a depreciação? E quanto resta de despesas de capital?
  • Existem diagramas de hardware e arquitetura de rede?
  • Onde estão localizadas as fontes de dados para seu data warehouse planejado (Azure, outro provedor de nuvem ou local)?
  • Quais são as plataformas de hospedagem de dados das fontes de dados para seu data warehouse (Microsoft SQL Server, Banco de Dados SQL do Azure, DB2, Oracle, Azure Blob Storage, AWS, Hadoop ou outros)?
  • Alguma das fontes de dados são armazéns de dados? Em caso afirmativo, quais?
  • Identifique todos os cenários de ETL, ELT e carregamento de dados (janelas em lote, streaming, quase em tempo real). Identifique os SLAs (Service Level Agreements, contratos de nível de serviço) existentes para cada cenário e documente os SLAs esperados no novo ambiente.
  • Qual é o tamanho atual do armazém de dados?
  • Que taxa de crescimento do conjunto de dados está sendo direcionada para o pool SQL dedicado?
  • Descreva os ambientes que você está usando hoje (desenvolvimento, teste ou produção).
  • Quais ferramentas estão atualmente em vigor para movimentação de dados (ADF, Microsoft SQL Server Integration Services (SSIS), robocopy, Informatica, SFTP ou outras)?
  • Você está planejando carregar dados em tempo real ou quase em tempo real?

Avalie os seguintes pontos do banco de dados.

  • Qual é o número de objetos em cada armazém de dados (esquemas, tabelas, vistas, procedimentos armazenados, funções)?
  • É um esquema de estrela, esquema de flocos de neve ou outro design?
  • Quais são as maiores tabelas em termos de tamanho e número de registros?
  • Quais são as tabelas mais amplas em termos de número de colunas?
  • Já existe um modelo de dados concebido para o seu armazém de dados? É um design de esquema de Kimball, Infon ou estrela?
  • As dimensões de mudança lenta (SCDs) estão em uso? Em caso afirmativo, de que tipos?
  • Uma camada semântica será implementada usando data marts relacionais ou Analysis Services (tabular ou multidimensional) ou outro produto?
  • Quais são os requisitos de arquivamento de dados HA/RPO/RTO/?
  • Quais são os requisitos de replicação da região?

Avalie as seguintes características da carga de trabalho.

  • Qual é o número estimado de usuários simultâneos ou trabalhos acessando o data warehouse durante o horário de pico?
  • Qual é o número estimado de usuários simultâneos ou trabalhos acessando o data warehouse fora do horário de pico?
  • Existe um período de tempo em que não haverá usuários ou empregos?
  • Quais são suas expectativas de desempenho de execução de consulta para consultas interativas?
  • Quais são suas expectativas de desempenho de carga de dados para cargas ou atualizações de dados diárias/semanais/mensais?
  • Quais são suas expectativas de execução de consultas para relatórios e consultas analíticas?
  • Quão complexas serão as consultas mais comumente executadas?
  • Que percentagem do tamanho total do conjunto de dados é o conjunto de dados ativo?
  • Aproximadamente qual porcentagem da carga de trabalho está prevista para carregamento ou atualização, processamento em lote ou relatórios, consulta interativa e processamento analítico?
  • Identifique os padrões e plataformas de consumo de dados:
    • Método e ferramentas de elaboração de relatórios atuais e planejados.
    • Que aplicação ou ferramentas analíticas irão aceder ao armazém de dados?
    • Número de consultas simultâneas?
    • Número médio de consultas ativas em qualquer momento?
    • Qual é a natureza do acesso aos dados (interativo, ad hoc, exportação ou outros)?
    • Funções de dados e descrição completa de seus requisitos de dados.
    • Número máximo de conexões simultâneas.
  • Padrão de SLA de desempenho de consulta por:
    • Usuários do painel.
    • Relatórios em lote.
    • Utilizadores de ML.
    • Processo ETL.
  • Quais são os requisitos de segurança para o ambiente existente e para o novo ambiente (segurança em nível de linha, segurança em nível de coluna, controle de acesso, criptografia e outros)?
  • Você tem requisitos para integrar a pontuação do modelo de ML com o T-SQL?

Avaliação do pool SQL sem servidor

O pool SQL Synapse Serverless suporta três casos de uso principais.

  • Descoberta e exploração básicas: raciocine rapidamente sobre os dados em vários formatos (Parquet, CSV, JSON) em seu data lake, para que você possa planejar como extrair insights deles.
  • Data warehouse lógico: forneça uma abstração relacional sobre dados brutos ou díspares sem realocar e transformar dados, permitindo uma visão sempre atual de seus dados.
  • Transformação de dados: maneira simples, escalável e eficiente de transformar dados no lago usando T-SQL, para que possam ser alimentados para BI e outras ferramentas ou carregados em um armazenamento de dados relacional (bancos de dados Synapse SQL, Banco de Dados SQL do Azure ou outros).

Diferentes funções de dados podem se beneficiar do pool SQL sem servidor:

  • Os engenheiros de dados podem explorar o data lake, transformar e preparar dados usando esse serviço e simplificar seus pipelines de transformação de dados.
  • Os cientistas de dados podem raciocinar rapidamente sobre o conteúdo e a estrutura dos dados no data lake, graças a recursos como OPENROWSET e inferência automática de esquema.
  • Os analistas de dados podem explorar dados e tabelas externas do Spark criadas por cientistas de dados ou engenheiros de dados usando instruções T-SQL familiares ou suas ferramentas de consulta favoritas.
  • Os profissionais de BI podem criar rapidamente relatórios do Power BI sobre dados nas tabelas data lake e Spark.

Nota

A linguagem T-SQL é usada no pool SQL dedicado e no pool SQL sem servidor, no entanto, há algumas diferenças no conjunto de recursos suportados. Para obter mais informações sobre os recursos T-SQL com suporte no Synapse SQL (dedicado e sem servidor), consulte Recursos do Transact-SQL com suporte no Azure Synapse SQL.

Para a avaliação do pool SQL sem servidor, avalie os seguintes pontos.

  • Você tem casos de uso para descobrir e explorar dados de um data lake usando consultas relacionais (T-SQL)?
  • Você tem casos de uso para construir um data warehouse lógico sobre um data lake?
  • Identifique se há casos de uso para transformar dados no data lake sem primeiro mover dados do data lake.
  • Os seus dados já estão no Azure Data Lake Storage (ADLS) ou no Azure Blob Storage?
  • Se seus dados já estão no ADLS, você tem uma boa estratégia de partição no data lake?
  • Você tem dados operacionais no Azure Cosmos DB? Você tem casos de uso para análises em tempo real no Azure Cosmos DB sem afetar as transações?
  • Identifique os tipos de arquivo no data lake.
  • Identifique o SLA de desempenho da consulta. O seu caso de uso exige desempenho e custo previsíveis?
  • Você tem cargas de trabalho analíticas SQL não planejadas ou estouradas?
  • Identifique o padrão e as plataformas de consumo de dados:
    • Método e ferramentas de elaboração de relatórios atuais e planejados.
    • Quais aplicativos ou ferramentas analíticas acessarão o pool SQL sem servidor?
    • Número médio de consultas ativas em qualquer momento.
    • Qual é a natureza do acesso aos dados (interativo, ad hoc, exportação ou outros)?
    • Funções de dados e descrição completa de seus requisitos de dados.
    • Número máximo de conexões simultâneas.
    • Complexidade da consulta?
  • Quais são os requisitos de segurança (controle de acesso, criptografia e outros)?
  • Qual é a funcionalidade necessária do T-SQL (procedimentos armazenados ou funções)?
  • Identifique o número de consultas que serão enviadas para o pool SQL sem servidor e o tamanho do conjunto de resultados de cada consulta.

Gorjeta

Se você é novo em pools SQL sem servidor, recomendamos que você trabalhe com o caminho de aprendizado Criar soluções de análise de dados usando o caminho de aprendizado de pools SQL sem servidor do Azure Synapse.

Avaliação da piscina de faíscas

Os pools de faíscas no Azure Synapse habilitam os seguintes cenários-chave.

  • Engenharia de dados/Preparação de dados: O Apache Spark inclui muitos recursos de linguagem para suportar a preparação e o processamento de grandes volumes de dados. A preparação e o processamento podem tornar os dados mais valiosos e permitir que sejam consumidos por outros serviços do Azure Synapse. Ele é habilitado através de várias linguagens (C#, Scala, PySpark, Spark SQL) e usando bibliotecas fornecidas para processamento e conectividade.
  • Aprendizado de máquina: o Apache Spark vem com MLlib, que é uma biblioteca de ML construída sobre o Spark que você pode usar a partir de um pool do Spark. Os pools de faíscas também incluem Anaconda, que é uma distribuição Python que compreende vários pacotes para ciência de dados, incluindo ML. Além disso, o Apache Spark on Synapse fornece bibliotecas pré-instaladas para o Microsoft Machine Learning, que é uma estrutura de ML tolerante a falhas, elástica e RESTful. Quando combinado com o suporte interno para notebooks, você tem um ambiente avançado para criar aplicativos de ML.

Nota

Para obter mais informações, consulte Apache Spark no Azure Synapse Analytics.

Além disso, o Azure Synapse é compatível com o Linux Foundation Delta Lake. O Delta Lake é uma camada de armazenamento de código aberto que traz transações ACID (atomicidade, consistência, isolamento e durabilidade) para cargas de trabalho do Apache Spark e de big data. Para obter mais informações, consulte O que é Delta Lake.

Para a avaliação do Spark pool, avalie os seguintes pontos.

  • Identifique as cargas de trabalho que exigem engenharia ou preparação de dados.
  • Defina claramente os tipos de transformações.
  • Identifique se você tem dados não estruturados para processar.
  • Quando você estiver migrando de uma carga de trabalho existente do Spark/Hadoop:
    • Qual é a plataforma de big data existente (Cloudera, Hortonworks, serviços em nuvem ou outros)?
    • Se for uma migração local, o hardware foi depreciado ou as licenças expiraram? Em caso negativo, quando ocorrerá a depreciação ou o vencimento?
    • Qual é o tipo de cluster existente?
    • Quais são as bibliotecas necessárias e as versões do Spark?
    • É uma migração do Hadoop para o Spark?
    • Quais são as linguagens de programação atuais ou preferidas?
    • Qual é o tipo de carga de trabalho (big data, ML ou outros)?
    • Quais são as ferramentas de cliente e plataformas de relatórios existentes e planejadas?
    • Quais são os requisitos de segurança?
    • Existem pontos problemáticos e limitações atuais?
  • Você planeja usar, ou está usando atualmente, Delta Lake?
  • Como você gerencia pacotes hoje?
  • Identifique os tipos de cluster de computação necessários.
  • Identifique se a personalização do cluster é necessária.

Gorjeta

Se você é novo em pools do Spark, recomendamos que você trabalhe no caminho de aprendizado Executar engenharia de dados com o Azure Synapse Apache Spark Pools .

Próximos passos

No próximo artigo da série Azure Synapse success by design, saiba como avaliar o design do espaço de trabalho Synapse e validar se ele atende às diretrizes e requisitos.