Iniciando a série sobre Azure DP-203 e meus estudos, quero compartilhar com aqui no blog, todo meu conteúdo estudado e aprendizado para a certificação de Engenheiro de Dados do Azure.

A primeira parte será sobre os recursos de Storage e armazenamento, o que irá incluir os bancos de dados relacionais e não relacionais e os data lakes para um estudo completo.

Devo ressaltar que muito do que virá aqui, será extraído do pathway da Microsoft, além de alguns cursos externos e livros e ou PDFs.

Então, nesse primeiro artigo, irei falar sobre  introdução do serviço e quais os principais recursos para Engenheiros de Dados dentro da plataforma. 

Todo o conteúdo ficará na área chamada Azure e lá, será dividido em partes como:

  • Storage;
  • Banco de dados;
  • ETL e etc.

A medida que os conteúdos forem crescendo, para não ficarem dispersos, terá uma sessão orientando por onde começar e seguir.

Espero que os ajude, vamos ao artigo!

Antes de começar, você pode ver o mapa mental desse artigo aqui.

INTRODUÇÃO

A grande complexidade dos ambientes de dados e a quantidade massiva que é gerada não é mais suportada por estruturas on-premises. Além da falta de espaço físico, o custo de obtenção e manutenção aumenta sempre.

Para solucionar essa equação, a maioria das empresas está migrando o ambiente para Cloud, com a premissa de reduzir custos operacionais, de licença de software e aquisição de hardware.

Nesse cenário, cabe ao Engenheiro de Dados escolher com sabedoria os recursos certos para continuar processando e escalando o ambiente de dados da organização a fim de continuar entregando valor e vantagem competitiva. 

Para tal, vamos conhecer os principais data services da Azure e como escolher o melhor para cada situação.

DATA SERVICES E STORAGE ACCOUNT

No ambiente em nuvem da Microsoft, temos os serviços de armazenamento, processamento de dados e o híbrido, que envolve armazenamento junto com processamento no mesmo serviço.

Catálogos de serviços de armazenamento no Azure.
Catálogos de serviços de armazenamento no Azure.

Para escolher corretamente o Engenheiro de Dados precisa conhecer quais e o que os serviços proporcionam para inferir custos extras e comprometer o orçamento do projeto.

Veja abaixo, a quantidade de serviços de banco de dados e processamento que a Azure oferece.

Serviços de banco de dados no Azure.
Serviços de banco de dados no Azure.

Para processamento, análise e visualização a Microsoft fornece esses serviços.

Processamento e análise de dados disponíveis na Microsoft.
Processamento e análise de dados disponíveis na Microsoft.

Como podem ver, é muito fácil se perder ou acabar escolhendo algum serviço que não se adeque às necessidades de negócio.

NOTA: Como todo o artigo é voltado para a certificação de engenharia, focarei apenas nos que foram citados no conteúdo programático. Você pode ver aqui.

Além das necessidades do negócio, a escolha dos armazenamentos corretos dependerá do tipo de dado armazenado, que pode ser:

  • Estruturados – são armazenados em bancos de dados no formato tabela ou em planilhas de softwares como Excel.
  • Não estruturados – são dados extraídos de aplicações, aplicativos, internet e não possuem uma estrutura que permita ser armazenado em bancos convencionais são os bancos NoSQL.. São do tipo:
    • vídeos
    • áudios
    • binários

NOTA: No caso da Microsoft, o banco NoSQL “padrão” é o Cosmos DB. Banco de dados não relacional criado e mantido pela empresa.

Existem quatro tipos de softwares capazes de armazenar dados não estruturados:

  1. Key-Value pair
  2. Graph database
  3. Document database
  4. Column database

Sabendo disso, entender e conhecer os principais serviços que o Engenheiro de Dados na plataforma Azure irá atuar.

AZURE STORAGE

É o serviço básico de armazenamento do azure e possui quatro tipos de configurações:

  • Azure blob → armazenamento de arquivos de um modo geral;
  • Azure file store → para cloud e on-premises;
  • Azure queue → para mensagens entre aplicações;
  • Azure table → armazenamento sem schema para dados estruturados.

O Azure Storage é muito indicado para casos em que não será necessário query de dados. Apenas um armazenamento básico.

AZURE DATA LAKE

Versão otimizada para processamento de Big Data e totalmente compatível com o Azure Storage.

Indicado para armazenar dados massivos e processamento de grandes volumes de dados dentro do Azure.

Totalmente integrado com os padrões de segurança do AD, é possível configurar diversos níveis de acesso e permissões por usuários ao Data Lake.

AZURE COSMOS DB

É um banco NoSQL com arquitetura híbrida que permite ao mesmo tempo lidar com dados estruturados, semi-estruturados e não estruturados.

Possui diversas API ‘s de integração, o que facilita em muito a comunicação e o torna extremamente versátil e integrado com diversos ecossistemas.

AZURE SQL DATABASE

É o banco de dados OLTP na plataforma. Compatível com formatos não estruturados como XML e Spatial. É a melhor opção quando o assunto é dado estruturado.

Recomendado para ambientes que precisam escalar as operações OLTP na nuvem, sendo uma opção prática, segura, confiável, disponível e flexível.

AZURE SYNAPSE ANALYTICS

É uma plataforma mista de Data Warehouse e Big Data Analytics. Utilizado para processar quantidades massivas de dados dentro da Azure.

Empresas que já possuem um ambiente on-premises com uma infra de DW operando e precisam escalar, mas que estão com dificuldades físicas e de hardware podem olhar para essa solução e considerar a migração para a nuvem.

O Synapse promete escala quase ilimitada e velocidade de processamento para entrega de relatórios gerenciais com mais precisão e velocidade.

Outro aspecto importante quando falamos de Synapse, são as tabelas distribuídas que são desenhadas para processar grandes quantidades de dados. Essas tabelas possuem três tipos:

  • Round-robin
  • Hash
  • Replicated.

O Synapse é uma combinação de ferramentas como Spark, para processamento de big data, SQL para consultas em Data Warehouse e ETL, já que possui o Data Factory embutido em seu engine.

O Spark e o engine SQL são bem integrados facilitando a comunicação e o processamento.

O Synapse é um ambiente integrado, que pode reduzir custos, uma vez que todos os serviços estão em um único lugar.

Considere utilizar o Polybase para ajudar na carga e no processamento de dados.

STREAM ANALYTICS

Utilizado para monitorar serviços dentro do Azure, enviando stream de dados para o Data Lake ou outros serviços de análises de dados, como o Machine Learning.

Poder ser configurado como stream ou batch, dependendo do ambiente.

É muito indicado para quem precisa responder em tempo real ou próximo ao tempo real dos eventos.

Pode ser que seja necessário um hub intermediário para receber os dados antes de enviar para o stream analytics.

Para arquivos no blob, possa ser que o modelo de processamento em batch seja mais adequado

A ingestão de dados é feita por integrações que o serviço possui e dependendo do tipo de processamento, pode ser predefinido. As fontes de ingestão podem ser:

  • Event hub
  • IoT hub
  • Blob

O interessante do stream analytics é a permissão de envio de comandos e “políticas” para as fontes conectadas, como o Iot ou Event hub.

A estrutura  de processamento é simples, basta definir quais fontes irá enviar os dados e o destino de armazenamento. Após, basta rodar um processo de análise e obter as melhores ideias. 

HD INSIGHT

É uma “central” de serviços que consome, processa e analisa os dados imputados;

É considerado uma solução low-cost dentro do Azure e inclui:

  • Spark;
  • Hadoop;
  • Kafka;
  • Hbase;
  • Storm → real time stream analytics
  • Interactive query.

Uma vez que os dados foram ingeridos, o Hive pode ser utilizado para rodar o processo de ETL nos dados que estão passando pelo programa. O Hive também possui integração com o ADF para processo e transformação dos dados.

O processamento de big data dentro do HDInsight é com o ecossistema Hadoop utilizando Python e Java.

Há a opção de utilizar o Spark como processamento de dados junto com a biblioteca Anaconda e seus pacotes internos.

O Azure oferece como monitoramento de jobs, o Storm, que possui integração com Java, Python e C#.

AZURE DATA SERVICES

São serviços que complementam o ambiente de dados da Azure e podem ajudar a melhorar suas análises e entregas.

Databricks

É uma melhora do Apache Spark e no Azure, foi otimizado para o provedor de serviço fornecendo uma configuração mais facilitada.

Trabalha em cima do Spark e permite o uso de Rest API para configuração de clusters.

Por ser um serviço que utiliza o Spark, possui integração com Python, R, Scala e Java nativamente. Além do SQL.

Data Factory 

Serviço de ETL / ELT da Azure com diversos conectores. Originado para criar diversos workflows de tratamento de dados, além de automatizar sua movimentação.

Ele utiliza recursos do HDInsight, Spark, Hadoop e Azure ML.

Microsoft Purview

É a solução para Data Governance da MS dentro do Azure.

Auxilia na governança de dados on-premises, multi-cloud e ambientes SaaS.

Possui serviços de automatização e descoberta de dados, atribuição de níveis de sensibilidade, classificação e linha do tempo.

Todo o sistema do Purview facilita a criação de uma visão holística dos dados armazenados e geridos pelo serviço.

CONCLUSÃO

Esse foi o primeiro artigo com conteúdo voltado exclusivamente para a certificação Azure DP-203.

Podemos perceber que a Microsoft fornece uma solução completa de dados, passando por armazenamento, tratamento e carga, processamento paralelo, visualização e governança.

É bom conhecer cada solução para assim, escolher a que melhor se adequa ao projeto e entrega o melhor custo benefício.

O conteúdo está bem introdutório e apresentando os principais serviços de dados que a plataforma oferece e que os Engenheiros de dados lidam diariamente.

Volto a destacar que o foco será nas principais ferramentas que o exame cobra e que costumam ser utilizadas pelos profissionais.

Para o próximo artigo dessa série, irei começar aprofundar nos Data Lakes e nos recursos de armazenamento em cloud da Microsoft. Fiquem atentos.

Olá!

Se chegou até aqui e gostou do conteúdo, deixe seu like e compartilhe com seus amigos! Ajude o blog a crescer e alcançar mais gente.

Não se esqueça de se inscrever e seguir o blog. Seja atualizado sempre que houver um novo artigo.

Voce também pode assinar minha newsletter no LinkedIN, no post fixo clicando aqui.

Siga nas redes sociais!

Obrigado! Volte sempre!