Nessa postagem você vai aprender como principais tarefas de transformação de dados, manipular e integrar dados de uma forma bem prática objetiva. O curso tem o objetivo de liberar o aluno apto apto usando o SQL Server Integration Services - SSIS, para que ele não aplique no dia da sua empresa ou em projetos de projetos de integração.
Case do Projeto SSIS, Banco de Dados e Modelagem Multidimensional de Dados:
Trata-se de um projeto em SSMA para grandes empresas. Saúde, Segurança e Meio Ambiente. Nele iremostratar os principais indicadores. Em inglês, SSMA refere-se à Health, Safety and Environment ou HSE, que em português significa Segurança, Saúde e Meio Ambiente. Tais palavras são responsáveis por representar as políticas existentes dentro de empresas e instituições. Ou seja, o SSMA tem como finalidade organizar e garantir que as normas prescritas pela lei sejam cumpridas.
Geralmente em grandes empresas, o SSMA é caracterizado por ser um departamento, onde os colaboradores pertencentes à equipe possuem como missão:
Segurança em SSMA
Um dos itens que fazem parte do SSMA é a segurança, sendo uma das funções da equipe responsável, garantir a prevenção contra acidentes e que colaboradores se sintam seguros. Por isso, a meta é sempre aplicar ações que atuem diretamente na redução de riscos de acidente e problemas de saúde. Dentre alguns pontos específicos que a equipe de SSMA precisa ficar atenta estão:
Controle de riscos
Talvez você esteja se perguntando, o que são riscos que precisam ser controlados. Então, saiba que dentro de uma empresa existem itens que são considerados riscos, principalmente por poderem apresentarem problemas com facilidade. Rede elétrica, máquinas, são alguns exemplos.
Por isso, é importante sempre fazer checagem de como tais itens estão. Sendo preciso fazer análises criteriosas para garantir a segurança em relação a esses riscos, com análise de processos e auditorias.
Os KPIs e indicadores gerais, tais como gráficos e relacionados serão desenvolvidos em Power BI.
Vantagens do SSIS:
• Usabilidade intuitiva;
• Facilidade sem gerenciamento de conexão;
• Integração com banco de dados, além do SQL Server;
• Permite facilmente uma implementação de T-SQL;
• Controle total sobre o fluxo definido;
• Auditoria das transformações dos dados.
O grande ganho de utilização deste Software, está descrito no seu próprio nome, integração. Em casos de negócio onde exige uma alta integração de dados entre sistemas legados, você tem duas escolhas logo de cara, fazer um agente que irá trabalhar os dois extremos, realizando uma validação dos dados, gerenciamento das funções, tratamento de erros, entre conversão de erros usar tipos de dados, exportação de arquivos seja o negócio ou a inserção de todos os dados em mais de uma fonte de dados, ou seja, um cenário que possa ter diversos fins e uma enorme alocação de dados, ou ferramentas de mercado reconhecidas, Documento elaborado para problemas elaborados e testados para o trabalho elaborado dentro desta gama, sem necessidade de um conjunto técnico elaborado, apenas prático com os componentes do SSIS.
Análises de desenvolvimento...
• Instalação do Microsoft SQL Server 2019;
• Instalação do Visual Studio 2019;
• Criar Processos de ETL - Extract Transform Load (Extrair, Transformar e Carregar);
• Conhecimentos básicos ao intermediário sobre o SSIS;
• Principais Tarefas de Origem e Destino dados;
• Criar união com o banco de dados Microsoft SQL Server 2019;
• Integração de dados;
• Transferir dados para vários destinos;
• Criar 1 Projetos de ETL;
• Automatizar ETL,s.
Existem requisitos ou pré-requisitos para esse post?
• Acesso a Internet.
• No mínimo um Computador com 6GB de RAM e Windows 10.
• Noções básicas de banco de dados.
• Noções básicas de SQL.
Para quem é este post:
• Estudantes T.I
• Analistas de BI jr
• Analistas de ETL jr
• Analistas de Dados jr
• Qualquer pessoa que tenha interesse em adquirir novos conhecimentos.
.
.
.
Análisando o projeto
Sobre as ferramentas de trabalho (Tools):
SSIS - SQL Server Integration Services
O SQL Server Integration Services ( SSIS ) é um componente do software de banco de dados Microsoft SQL Server que pode ser usado para executar uma ampla variedade de tarefas de migração de dados .
O SSIS é uma plataforma para integração de dados e aplicativos de fluxo de trabalho . Ele apresenta uma ferramenta de armazenamento de dados usada para extração, transformação e carregamento de dados (ETL) . A ferramenta também pode ser usada para automatizar a manutenção de bancos de dados SQL Server e atualizações de dados de cubos multidimensionais .
Lançado pela primeira vez com o Microsoft SQL Server 2005, o SSIS substituiu o Data Transformation Services , que era um recurso do SQL Server desde a versão 7.0. Ao contrário do DTS, que foi incluído em todas as versões, o SSIS está disponível apenas nas edições "Standard", "Business Intelligence" e "Enterprise". Com o Microsoft "Visual Studio Dev Essentials", agora é possível usar o SSIS com o Visual Studio 2017 gratuitamente, desde que seja apenas
SSMS - SQL Server Management Studio
O SQL Server Management Studio (SSMS) é um aplicativo de software lançado pela primeira vez com o Microsoft SQL Server 2005 que é usado para configurar, gerenciar e administrar todos os componentes do Microsoft SQL Server . É o sucessor do Enterprise Manager no SQL 2000 ou anterior. A ferramenta inclui editores de script e ferramentas gráficas que trabalham com objetos e recursos do servidor.
O SSMS é uma das ferramentas de gestão do SQL Server, independentemente da sua localização, utilizada para desenhar consultas e gerir bases de dados e data warehouses via computador pessoal ou Cloud.
Na realidade, o SSMS é um ambiente integrado que fornece ferramentas para configurar, monitorar e administrar instâncias e bancos de dados do SQL Server.
Um recurso central do SSMS é o Pesquisador de Objetos, que permite ao usuário navegar, selecionar e agir sobre qualquer um dos objetos dentro do servidor. Ele também enviou uma edição Express separada que pode ser baixada gratuitamente, no entanto, as versões recentes do SSMS são totalmente capazes de se conectar e gerenciar qualquer instância do SQL Server Express. A Microsoft também incorporou a compatibilidade com versões anteriores do SQL Server, permitindo assim que uma versão mais recente do SSMS se conecte a versões mais antigas de instâncias do SQL Server. Ele também vem com o Microsoft SQL Server Express 2012, ou os usuários podem baixá-lo separadamente.
A partir da versão 11, o aplicativo foi baseado no shell do Visual Studio 2010 , usando o WPF para a interface do usuário. As versões 18 e posteriores são baseadas no Shell Isolado do Visual Studio 2017.
Em junho de 2015, a Microsoft anunciou sua intenção de lançar versões futuras do SSMS independentemente das versões do mecanismo de banco de dados SQL Server.
Visual Studio Code 2019
Visual Studio Code é um editor de código-fonte feito pela Microsoft para Windows , Linux e macOS. Os recursos incluem suporte para depuração , realce de sintaxe , conclusão de código inteligente , snippets , refatoração de código e Git incorporado . Os usuários podem alterar o tema , atalhos de teclado , preferências e instalar extensões que adicionam funcionalidades adicionais.
Na pesquisa do desenvolvedor do Stack Overflow 2021, o Visual Studio Code foi classificado como a ferramenta de ambiente de desenvolvedor mais popular, com 70% dos 82.000 entrevistados relatando que o usam.
__________________________________________________________________________________
Ementa de Desenvolvimento
• Instalação do Microsoft SQL Server 2019;
• Instalação do Visual Studio 2019;
• Criar Processos de ETL - Extract Transform Load (Extrair, Transformar e Carregar);
• Conhecimentos básicos ao intermediário sobre o SSIS;
• Principais Tarefas de Origem e Destino dados;
• Criar união com o banco de dados Microsoft SQL Server 2019;
• Integração de dados;
• Transferir dados para vários destinos;
• Criar 1 Projetos de ETL;
• Automatizar ETL,s.
__________________________________________________________________________________
Steps de Desenvolvimento
Step 1: Instalação do Microsoft SQL Server 2019
Em instalações locais, você deve executar a instalação como um administrador. Se você instalar o SQL Server de um compartilhamento remoto, deverá usar uma conta de domínio que tenha permissões de leitura e de execução no compartilhamento remoto.
Definir variáveis de ambiente
Somente para a integração de recursos do R, é necessário definir a variável de ambiente MKL_CBWR para garantir a saída consistente dos cálculos da Intel MKL (Math Kernel Library).
1. No Painel de Controle, clique em Sistema e Segurança > Sistema > Configurações Avançadas do Sistema > Variáveis de Ambiente.
2. Crie uma variável de usuário ou do sistema.
• Defina o nome da variável como MKL_CBWR
• Defina o valor da variável como AUTO
Esta etapa requer uma reinicialização do servidor. Se estiver prestes a habilitar a execução de script, você poderá manter a reinicialização até que todo o trabalho de configuração seja concluído.
Por questões didáticas, vamos dinamizar a entrega da instalação. Há muitos critérios e configurações que podem ser feitas, mas resumidamente, deve ser seguido os critérios das necessidades dos seus projetos.
Step 1: Instalação do Visual Studio 2019
https://visualstudio.microsoft.com/pt-br/downloads/ ... efetuar o download para o seu SO.
Execute o arquivo bootstrapper para instalar o Instalador do Visual Studio. Esse novo instalador leve inclui tudo o que você precisa para instalar e personalizar o Visual Studio.
Da sua pasta Downloads, clique duas vezes no inicializador que corresponde ou é semelhante a um dos seguintes arquivos:
- vs_community.exe para Visual Studio Community;
- vs_professional.exe para Visual Studio Professional;
- vs_enterprise.exe para Visual Studio Enterprise.
Se você receber um aviso de Controle de Conta de Usuário, escolha Sim.
Solicitaremos que você confirme os termos de licença da Microsoft e a política de privacidadeda Microsoft. Escolha Continuar.
Após a instalação do instalador, use-o para personalizar sua instalação selecionando os conjuntos de recursos ou cargas de trabalho desejados. Veja aqui como fazer isso.
selecione a carga de trabalho que você deseja na Instalador do Visual Studio.
Examine os resumos de carga de trabalho para decidir qual carga de trabalho dá suporte aos recursos necessários. por exemplo, escolha o ASP.NET e a carga de trabalho de desenvolvimento na web para editar ASP.NET páginas da web com visualização dinâmica da web ou criar aplicativos web responsivos com um mais alto ou escolha entre as cargas de trabalho & móveis para desenvolver aplicativos de plataforma cruzada com C# ou projetos C++ voltados para c++ 20.
Por questões didáticas, vamos dinamizar a entrega da instalação. Há muitos critérios e configurações que podem ser feitas, mas resumidamente, deve ser seguido os critérios das necessidades dos seus projetos.
Step 3: Instalação do Visual Studio 2019t Transform Load (Extrair, Transformar e Carregar)... preparando o terreno com modelagem multidimensional de dados via SQL Power Architect - Package 2 - LA_WSKL_SSMA_1SSIS_DTSX1_A-FATO1-OS
Antes de tudo: o que é modelagem multidimensional de dados?
O Data Warehouse (DW) é uma tecnologia que pode ser implementada em sistemas de banco de dados tradicionais e é atualmente o grande alicerce da solução de Business Intelligence (BI). Mas, para a adequada estruturação e desempenho, o DW deverá ser modelado seguindo os preceitos da modelagem multidimensional.
A modelagem multidimensional, ou dimensional como às vezes é chamada, é a técnica de modelagem de banco de dados para o auxílio às consultas do Data Warehouse nas mais diferentes perspectivas. A visão multidimensional permite o uso mais intuitivo para o processamento analítico pelas ferramentas OLAP (On-line Analytical Processing).
O OLAP possui um conjunto de técnicas para o tratamento dos dados contidos na visão multidimensional do Data Warehouse. As ferramentas OLAP podem ser de diferentes tipos: MOLAP, ROLAP ou HOLAP.
O OLAP multidimensional (MOLAP) é o tipo de ferramenta que utiliza estrutura de banco de dados multidimensional. O OLAP relacional (ROLAP) utiliza a arquitetura relacional dos dados, onde o banco de dados possui a estrutura tradicional. Já o OLAP híbrido (HOLAP) é a junção das duas anteriores, utilizando os melhores aspectos e recursos de cada um dos dois tipos.
Toda modelagem dimensional possuem dois elementos imprescindíveis: as tabelas Fatos e as tabelas Dimensões. Ambas são obrigatórias e possuem característica complementares dentro de um Data Warehouse.
As Dimensões são os descritores dos dados oriundos da Fato. Possui o caráter qualitativo da informação e relacionamento de “um para muitos” com a tabela Fato. É a Dimensão que permite a visualização das informações por diversos aspectos e perspectivas.
As Fatos contém as métricas. Possui o caráter quantitativo das informações descritivas armazenadas nas Dimensões. É onde estão armazenadas as ocorrências do negócio e possui relacionamento de “muitos para um” com as tabelas periféricas (Dimensão).
A modelagem dimensional possui dois modelos: o modelo estrela (star schema) e o modelo floco de neve (snow flake). Cada um com aplicabilidade diferente a depender da especificidade do problema. As Dimensões do modelo estrela são desnormalizados, ao contrário do snow flake, que parcialmente possui normalização.
A estrutura relacional diferencia-se da estrutura multidimensional principalmente devido a normalização, pouca redundância e a frequência de atualizações suportadas. A estrutura multidimensional possui, normalmente, desnormalização de tabelas, alta redundância e suporta periodicidade de atualizações de dados muito menor do que uma estrutura relacional convencional.
É de grande importância uma boa modelagem multidimensional para permitir bom desempenho, intuitividade e escalabilidade em um DW, que é o grande suporte da solução de BI. A cautela e empenho no planejamento e elaboração da modelagem poderá garantir, a médio e longo prazo, um armazém de dados de qualidade com insights valiosos para toda a organização no uso do BI.
Seguindo com a nossa modelagem multidimensional da fato 1...
Modelagem multidimensional da Fato 1 - Ocorrências Segurança, como tabela fato
Step 4: Criar Processos de ETL - Extract Transform Load (Extrair, Transformar e Carregar)... preparando o terreno com modelagem multidimensional de dados via SQL Power Architect - Package 3 - LA_WSKL_SSMA_1SSIS_DTSX1_C-FATO2-OMA
Seguindo com a nossa modelagem multidimensional da fato 2...
Modelagem multidimensional da Fato 2 - Ocorrências MA, como tabela fato
Step 5: Criar Processos de ETL - Extract Transform Load (Extrair, Transformar e Carregar)... iniciando pelo load - Package 1 - LA_WSKL_SSMA_1SSIS_DTSX1_A-Origem.dtsx
Iniciamos nosso processo, com a parte load. Essa etapa inicial irá fazer a ingestão de dados de arquivos Excel para dentro do SSIS. Dessa forma temos um carremento de SSIS para o banco de dados, sendo assim, etapa load.
Detalhe da ingestão de dados a partir de um arquivo de Excel.
Repare também que foram criadas as conexões, de integração (ingestão) do excel para o SSIS e apontando para o banco de dados.
Step 6: Criar Processos de ETL - Extract Transform Load (Extrair, Transformar e Carregar)... load-stage - Package 2 - LA_WSKL_SSMA_1SSIS_DTSX1_B-Fato1_OS.dtsx
Antes de iniciar essa parte, vamos entender o que é um pipeline de dado (ou data pipeline). O que é um Data Pipeline?
Um pipeline de dados é uma série de etapas de processamento de dados. Se os dados não estiverem carregados na plataforma de dados, eles serão ingeridos no início do pipeline. Depois, há uma série de etapas nas quais cada uma fornece uma saída que é a entrada para a próxima etapa. Isso continua até que o pipeline esteja completo. Em alguns casos, etapas independentes podem ser executadas em paralelo.
Os pipelines de dados consistem em três elementos principais: uma fonte, uma ou mais etapas de processamento e um destino. Em alguns pipelines de dados, o destino pode ser chamado de coletor. Os pipelines de dados permitem o fluxo de dados de um aplicativo para um Data Warehouse, de um Data Lake para um banco de dados analítico ou para um sistema de processamento de pagamentos, por exemplo. Os pipelines de dados também podem ter a mesma fonte e coletor, de modo que o pipeline seja apenas para modificar o conjunto de dados. Sempre que os dados são processados entre o ponto A e o ponto B (ou pontos B, C e D), há um pipeline de dados entre esses pontos.
Nestas imagens podemos analisar um fluxo “pipeline” dividido em 3 etapas:
1 – Data Engineering: Responsável por fazer a coleta dos dados, remover dados inconsistentes e ingerir no Data Lake;
2 – Data Preparation: Nesse processo são feitos os refinamentos e enriquecimentos dos dados. Adicionando as regras de negocio para disponibilizar uma base consistente para o próximo fluxo;
3 – Analytics: Este é o ultimo processo, onde são feitas as analises sobre os dados que foram refinados e enriquecidos.
Agora que já temos uma noção do que é um Pipeline de dados, vamos abordar o que um Engenheiro de Dados faz.O Engenheiro de Dados tem como sua responsabilidade garantir que os dados estejam disponíveis para a análise de forma segura. Com isso ele precisa fazer 4 passos:
Coleta: Esse é o passo inicial, onde a equipe de Engenharia junto com outras áreas definem quais são os dados necessários para ser coletados e enviado para o Data Lake “HDFS”. Existem 3 tipos de dados, os estruturados “bancos de dados, delimitados”, semi-estruturados “arquivos json e xml” e não estruturados “áudio, vídeo e imagens”.
Transformação: Existem 2 tipos de transformações a ETL “Extract, Transform e Load” e a ELT “Extract, Load e Transform”.
.
.
.
IMPORTANTE:
ETL é o padrão que estamos acostumados no meio de BI e DW, onde você coleta os dados, realiza as tratativas necessárias e depois armazena os dados.
ELT é um padrão mais utilizado no mundo Big Data, onde você coleta os dados e armazena de forma bruta, sem fazer nenhuma tratativa. Após o armazenamento é realizado a transformação “tratativas necessárias”.
Armazenamento: Esse é o passo onde colocamos os dados no HDFS “Data Lake”. Geralmente é criado um processo para ser armazenados os dados de acordo com o departamento e a estrutura dos dados. Exemplo, se os dados estão sem tratativas, podemos armazenar em um diretório
/raw. Depois que os dados foram tratados e refinados podemos armazenar em um diretório /refined.
Disponibilidade: E por ultimo o Engenheiro tem que garantir que os dados estejam disponíveis para as áreas acessarem.
Frisando mais um tópico...
DataOps
DataOps é um conjunto de práticas, processos e tecnologias que combina uma perspectiva integrada e orientada a processos sobre dados com automação e métodos de engenharia de software ágil para melhorar a qualidade, velocidade e colaboração e promover uma cultura de melhoria contínua na área de análise de dados. Embora o DataOps tenha começado como um conjunto de práticas recomendadas, agora ele amadureceu para se tornar uma abordagem nova e independente para análise de dados. DataOps se aplica a todo o ciclo de vida dos dados desde a preparação dos dados até os relatórios, e reconhece a natureza interconectada da equipe de análise de dados e das operações de tecnologia da informação.
O DataOps incorpora a metodologia Agile para reduzir o tempo de ciclo de desenvolvimento de análises em alinhamento com as metas de negócios.
O DevOps se concentra na entrega contínua, aproveitando os recursos de TI sob demanda e automatizando o teste e a implantação de software. Essa fusão de desenvolvimento de software e operações de TI melhorou a velocidade, qualidade, previsibilidade e escala de engenharia e implantação de software. Tomando emprestado métodos do DevOps, o DataOps busca trazer essas mesmas melhorias para a análise de dados.
O DataOps utiliza controle estatístico de processo (SPC) para monitorar e controlar o pipeline de análise de dados. Com o SPC instalado, os dados que fluem através de um sistema operacional são constantemente monitorados e verificados quanto ao seu funcionamento. Se ocorrer uma anomalia, a equipe de análise de dados pode ser notificada por meio de um alerta automatizado.
O DataOps não está vinculado a uma determinada tecnologia, arquitetura, ferramenta, linguagem ou estrutura. Ferramentas que suportam DataOps promovem colaboração, orquestração, qualidade, segurança, acesso e facilidade de uso.
Fluxo de automação em DataOps
História
DataOps foi introduzido pela primeira vez por Lenny Liebmann, Editor Contribuinte, InformationWeek, em uma postagem de blog no IBM Big Data & Analytics Hub intitulada "3 razões pelas quais DataOps é essencial para o sucesso de big data " em 19 de junho de 2014. O termo DataOps mais tarde foi popularizado por Andy Palmer de Tamr e Steph Locke. DataOps é um apelido para "Operações de Dados". 2017 foi um ano significativo para o DataOps, com desenvolvimento significativo do ecossistema, cobertura de analistas, aumento de pesquisas de palavras-chave, pesquisas, publicações e projetos de código aberto. Gartner nomeou DataOps no Hype Cycle for Data Management em 2018.
Objetivo e Filosofia
Prevê-se que o volume de dados cresça a uma taxa de 32% CAGR para 180 Zettabytes até o ano de 2025 (Fonte: IDC). DataOps procura fornecer as ferramentas, processos e estruturas organizacionais para lidar com esse aumento significativo de dados. A automação agiliza as demandas diárias de gerenciamento de grandes bancos de dados integrados, liberando a equipe de dados para desenvolver novas análises de forma mais eficiente e eficaz. DataOps busca aumentar a velocidade, confiabilidade e qualidade da análise de dados. Enfatiza a comunicação, colaboração, integração, automação, medição e cooperação entre cientistas de dados , analistas, dados/ETL ( extrair, transformar, carregar) engenheiros, tecnologia da informação (TI) e garantia/governança de qualidade.
Implementação
Toph Whitmore da Blue Hill Research oferece estes princípios de liderança de DataOps para o departamento de tecnologia da informação:
• “Estabeleça medições de progresso e desempenho em cada estágio do fluxo de dados. Sempre que possível, avalie os tempos de ciclo do fluxo de dados;
• Defina regras para uma camada semântica abstrata. Certifique-se de que todos estejam “falando a mesma língua” e concordem sobre o que os dados (e metadados) são e não são;
• Valide com o “teste do globo ocular”: inclua ciclos de feedback humano orientados para a melhoria contínua. Os consumidores devem poder confiar nos dados, e isso só pode vir com validação incremental;
• Automatize o maior número possível de estágios do fluxo de dados, incluindo BI, ciência de dados e análise;
• Usando informações de desempenho de benchmarking, identifique gargalos e, em seguida, otimize para eles. Isso pode exigir investimento em hardware de commodity ou automação de uma etapa de ciência de dados anteriormente entregue por humanos no processo;
• Estabeleça disciplina de governança, com foco particular no controle de dados bidirecional, propriedade de dados, transparência e rastreamento abrangente de linhagem de dados em todo o fluxo de trabalho;
• Processo de design para crescimento e extensibilidade. O modelo de fluxo de dados deve ser projetado para acomodar o volume e a variedade de dados. Garanta que as tecnologias de habilitação tenham preços acessíveis para escalar com esse crescimento de dados corporativos.”
Continuando o âmbito do SSIS...
Por fim, fazemos a integração de dados na tabela Fato, com as chaves virtuals SK.
O que é a chave SK?
Uma Surrogate Key, em um Banco de dados, é uma chave de substituição. É um identificador único para cada entidade do mundo modelado ou um objeto no banco de dados. A chave substituta não é derivada de dados do aplicativo. OBS. O assunto esta sendo abordado de uma forma geral, sem se ater a modelagem dimensional ou conceitos de DW/BI. Sempre que for conveniente, colocarei o conceito em um ambiente dimensional, que é a nossa seara…
Seguindo...
Fluxo de dados voltado para SK da tabela Fato, fazendo assim a ingestão de dados no banco de dados Microsoft SQL Server
Step 7: Criar Processos de ETL - Extract Transform Load (Extrair, Transformar e Carregar)... load-stage - Package 3 - LA_WSKL_SSMA_1SSIS_DTSX1_C-Fato2_OMA.dtsx
Nessa parte do step 4, iremos trabalhar com o pacote 2, que é o da tabela fato 2, da segunda sistemática - Ocorrências Meio Ambiente. Agora faremos a integração através do pipeline de contêiners...
Para o pipeline 2, faremos também a integração via chave substituta, ou chave SK, do DW...
Processo de integração de dados via chave SK, para ingestão no Banco de dados
Step 8: Criar Processos de ETL - Extract Transform Load (Extrair, Transformar e Carregar)... testando e analisando os bancos de dados no Microsoft SQ Server
Processo de integração de dados via chave SK, para ingestão no Banco de dados
Dados já carregados dentro das tabelas, vindo da origem (Excel) e na sequência integrados via SSIS
Sobre a ingestão de dados... O que é ingestão de dados?
A ingestão de dados é o transporte de dados de fontes variadas para um meio de armazenamento onde podem ser acessados, usados e analisados por uma organização. O destino normalmente é um data warehouse, data mart, banco de dados ou um armazenamento de documentos. As fontes podem ser quase qualquer coisa – incluindo dados SaaS, aplicativos internos, bancos de dados, planilhas ou até mesmo informações extraídas da Internet.
A camada de ingestão de dados é a espinha dorsal de qualquer arquitetura analítica. Os sistemas de relatórios e análises downstream dependem de dados consistentes e acessíveis. Existem diferentes maneiras de ingerir dados, e o design de uma camada de ingestão de dados específica pode ser baseado em vários modelos ou arquiteturas.
Step 9: Criando os jobs para serem executados de forma agendada no Microsoft SQL Server
O job é uma forma de auxiliar na manutenção com tarefas que devem ser executadas diversas vezes iguais ou em uma determinada data em especial sem precisar da intervenção do DBA, por exemplo, a desfragmentação de uma tabela no domingo. Como no domingo ninguém estará na empresa pode-se agendar o trabalho para ser executado nesse período.
Os jobs podem ser criados de duas formas ou através do Enterprise manager ou por T-SQL, neste artigo vou mostrar duas formas que poderemos utilizar para criarmos um JOB.
Necessitamos que o serviço agente do SQL Server seja inicializado (SQLSERVERAGENT), para iniciar este serviço podemos procurá-lo na janela services ou iniciar através do SQL Service Manager. Também deveremos ter certeza que existe instalado no nosso servidor um banco de dados chamado MSDB, que é o banco utilizado pelo SQL Server para controlar os jobs.
O job é uma forma de auxiliar na manutenção com tarefas que devem ser executadas diversas vezes iguais ou em uma determinada data em especial sem precisar da intervenção do DBA, por exemplo, a desfragmentação de uma tabela no domingo. Como no domingo ninguém estará na empresa pode-se agendar o trabalho para ser executado nesse período.
Por questões didáticas iremos simplificar esse processo, e omitir a parte de configurações de job para essa postagem e projeto.
Step 10: Carregamento de datasets no Microsoft Power BI, para o desenvolvimento de dashboards de SSMA
Os conjuntos de dados do Power BI representam uma fonte de dados pronta para geração de relatórios e visualização. Existem cinco tipos diferentes de conjuntos de dados, criados das seguintes maneiras: Com conexão a um modelo de dados existente não hospedado em um recurso do Power BI.
A partir do DW via Microsoft SQL Server, podemos fazer o carregamento de dados via Microsoft SQL Server para o Microsoft Power BI.
De forma amostral, ainda em configuração pelo Power Query Editor (Editor de Conultas do Power BI), vamos apontar o servidor e o banco de dados DW para cada tabela, e executar um comando SQL simples.
Server: 21LAPBRJ051FWZY
Database: SQLTSTD01_2DW_ADDL
SQL Statement:
SELECT * FROM [dbo].[DW_OCR_OLE_DB_FatoOcorrencias_MA]
GO
Faremos então esse procedimento para todas as tabelas, carregando dessa forma os datasets de todas as tabelas.
Step 11: Conferência e análises das tabelas carregadas no Microsoft Power BI, para o desenvolvimento de dashboards de SSMA
Conferindo agora todas as tabelas devidamente carregadas e completas para serem consumidas pelos dashboards no canva do Power BI (tela de desenvolvimento para dashboards).
Tabelas carregadas. Repare no canto direito, todas listadas e prontas para os desenvolvimentos de dashboards.
Step 12: Criação e desenvolvimento de dashboards de SSMA
Dashboards criados e desenvolvidos, com todo o aparato UX/UI para analytics e dados, e também todas as regras de negócios para SSMA aplicadas. O que é UX/UI?
Tanto em User Experience (UX) quanto User Interface (UI), a excelente experiência do usuário/cliente é a chave-mestra. A área de UX trata de como uma pessoa se sente enquanto usa qualquer produto ou serviço, digital ou não, oferecido pela sua empresa e tem a ver com a sensação dessa pessoa, depois deste uso.
Interface bem disposta e desenhada para os usuários
UX/UI são necessários e interessantes para as aplicações também em analytics
Continuando sobre os nossos dashboards para SSMA...
Índice SSMA
SSMA Ocorrências Segurança
SSMA Ocorrências MA
Step 13: Desenvolvimento de funções DAX (Data Analysis Expressions) dentro do Power BI
Dashboards criados e desenvolvidos, com todo o aparato UX/UI para analytics e dados, e também todas as regras de negócios para SSMA aplicadas.
Expressões de Análise de Dados ( DAX ) é a fórmula nativa e a linguagem de consulta para modelos tabulares do Microsoft PowerPivot , Power BI Desktop e SQL Server Analysis Services (SSAS). O DAX inclui algumas das funções usadas em fórmulas do Excel com funções adicionais projetadas para trabalhar com dados relacionais e realizar agregação dinâmica . É, em parte, uma evolução da linguagem Multidimensional Expression (MDX) desenvolvida pela Microsoft para modelos multidimensionais do Analysis Services (geralmente chamados de cubos) combinado com funções de fórmula do Excel. Ele foi projetado para ser simples e fácil de aprender, ao mesmo tempo em que expõe o poder e a flexibilidade dos modelos tabulares PowerPivot e SSAS.
Tipo de DAX
O DAX pode calcular valores para sete tipos de dados :
• Inteiro
• Real
• Moeda
• Data (datahora)
• VERDADEIRO/FALSO (Booleano)
• Corda
• Variante
O tipo de dados BLOB (binary large object) é gerenciado pelo modelo Tabular, mas não pode ser manipulado diretamente por expressões DAX.
O DAX possui um poderoso sistema de manipulação de tipos para que você não precise se preocupar muito com os tipos de dados. Quando você escreve uma expressão DAX, o tipo resultante é baseado no tipo dos termos usados na expressão e no operador usado. A conversão de tipo acontece automaticamente durante a avaliação da expressão. No entanto, se uma expressão puder retornar diferentes tipos de dados dependendo das condições, o tipo de dados da expressão será definido como Variant.
Algumas demonstrações DAX do projeto...
Repare na coluna da direita, diversos DAX aplicados. Para uso de cores, regras de negócios, filtro, dentre outros.
Step 14: Etapa de testes - QA para o Power BI
Testes são essenciais para testar a qualidade do projeto e também para garantir a funcionalidade. Por questões dinâmicas e de didática, vamos omitir neste projeto os testes feitos em SSIS, uma vez que são complexos e inicialmente requerem muitos debugs.
Operar na interface do projeto, junto com os seus comandos e funcionalidades é essencial para testar, aprovar e validar todos botões, gráficos e relacionados.
.
.
.
Produto Finalizado
__________________________________________________________________________________
Conclusivo do Caso de Uso
Desafios do processo
O ecossistema global de dados está se tornando mais diversificado e o volume de dados explodiu. As informações podem vir de várias fontes de dados distintas, de bancos de dados transacionais a plataformas SaaS e dispositivos móveis e IoT. Essas fontes estão em constante evolução enquanto novas surgem, dificultando a definição de um processo de ingestão de dados abrangente e à prova de futuro.
Codificar e manter uma arquitetura analítica que possa ingerir esse volume e diversidade de dados é caro e demorado, mas um investimento que vale a pena: quanto mais dados as empresas tiverem disponíveis, mais robusto será seu potencial de análise competitiva.
Enquanto isso, a velocidade pode ser um desafio tanto para o processo de ingestão quanto para o pipeline de dados. À medida que os dados se tornam mais complexos, é mais demorado desenvolver e manter pipelines de ingestão de dados, principalmente quando se trata de processamento de dados “em tempo real”, que dependendo do aplicativo pode ser bastante lento (atualizando a cada 10 minutos) ou incrivelmente atual (pense em aplicativos de cotações de ações durante o horário de negociação).
Saber se uma organização realmente precisa de processamento em tempo real é crucial para tomar decisões de arquitetura apropriadas sobre a ingestão de dados. A escolha de tecnologias como o dimensionamento automático de data warehouses baseados em nuvem permite que as empresas maximizem o desempenho e resolvam os desafios que afetam o pipeline de dados.
Desafios do pipeline
Os requisitos legais e de conformidade adicionam complexidade (e despesas) à construção de pipelines de dados. Por exemplo, as empresas europeias precisam cumprir o Regulamento Geral de Proteção de Dados (GDPR), os dados de saúde dos EUA são afetados pelo Health Insurance Portability and Accountability Act (HIPAA) e as empresas que usam serviços de TI de terceiros precisam de procedimentos de auditoria como Service Organization Control 2 (SO 2).
As empresas tomam decisões com base nos dados em sua infraestrutura de análise, e o valor desses dados depende de sua capacidade de ingeri-los e integrá-los. Se a ingestão inicial de dados for problemática, todas as etapas posteriores sofrerão, portanto, o planejamento holístico é essencial para um pipeline de desempenho.
__________________________________________________________________________________
Notas e Relacionados
> Inicialmente o nosso propósito com o Blog é efetuar postagens diversas, porém teremos a área separada para as postagens relacionadas ao Constructor SO, que é o nosso Portfólio de Projetos, Agiles e Scrum, em que cada membro do Constructor SO possui a sua área para os seus desenvolvimentos. Dessa forma, cada atualização da área do Constructor SO é seguida de uma postagem no blog do profissional, informando os nossos leitores e criando assim um panorama extensivo de tal trabalho lançado ou versionado;
> A priori em relação aos desenvolvimentos da Space_One Labs, a nossa ideia é lançar e trabalhar de forma aleatória vários projetos da área específica relacionada, não nos tornando assim limitados por apps ou softwares específicos;
> Todos os casos aqui descritos e desenvolvidos, para este blog, no qual me pertence, que seja da categoria "BI Case", são casos de empresas fictícias, criadas e inventadas, para contextualizar e deixar o trabalho mais vivo e realista possível.
#BlogdeMembros #BlogSOLabs / #SSIS #SQL #MicrosoftSQLServer #PowerBI #VSCode2019 #ModelagemDeDados #SQLPowerArchitect #Tecnologia #BI #BusinessIntelligence #ConstructorSO
__________________________________________________________________________________
Daniel Sanches
Engenheiro de Produção, Universo - Universidade Salgado de Oliveira, especializado em Analytics e Data, Business e Tecnologia.
SO Labs Developer Member of Research, Business Intelligence Analyst, Data Analyst and Business Analyst, Data Engineer, Blogger DS Space_One Labs | Space Members
Membro SO Labs Desenvolvedor de Pesquisas, Business Intelligence, Data Engineer, Data Analyst e Negócios