Ir para conteúdo
  • 0

ETL com SQL


Ciro Zeferino

Pergunta

3 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos

O ideal é realizar o ETL dentro do próprio banco de dados no SQL Server, pois isso pode oferecer maior desempenho e eficiência ao processar grandes volumes de dados. No entanto, é importante estar atento a algumas limitações e desafios, como:

  • Concorrência no banco de dados: A realização de operações ETL pode aumentar a carga no banco de dados, afetando o desempenho das transações de produção. Isso pode resultar em lentidão para os usuários que estão acessando o banco simultaneamente.
  • Tempo de atualização: Dependendo da complexidade do ETL, as atualizações podem demorar, afetando a frescura dos dados no BI. É essencial garantir que o ETL ocorra em horários que não impactem a operação normal do banco de dados.
  • Recursos do sistema: Processos ETL intensivos podem consumir muitos recursos do servidor, como CPU e memória, potencialmente impactando outras operações.

Uma abordagem recomendada para evitar esses conflitos é utilizar um banco de dados intermediário, conhecido como staging area. Nesse cenário, você extrai os dados de origem, realiza as transformações necessárias no banco de staging e, em seguida, carrega os dados transformados no banco de produção. Isso ajuda a minimizar a concorrência e os impactos no desempenho do ambiente de produção.

Recomendo assistir algumas aulas do curso:

-> Sql server basico
 


-> Trabalho com grande conjunto dados power bi

 

Espero que isso ajude!

image.png

image.png

  • Thanks 1
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
Em 05/06/2024 em 20:22, Ciro Zeferino disse:

Olá pessoal!

Tem como fazer ETL dentro de um banco de dados no SQL Sever?

ou tenho que realizar o ETL fora do banco de dados, e depois carregar os dados para dentro do banco de dados no SQL

Agradeço a ajuda.

Olá @Ciro Zeferino, tudo bem?

Conforme bem explicado pelo @Alex Pereira, o ideal é fazer a etapa de ETL antes de carregar os dados para o Power BI. Embora o Power Query faça algumas transformações, que acabamos chamando de ETL, um processo de ETL mais robusto geralmente é realizado por ferramentas específicas, como o "Informática Power Center", o "Oracle Data Integrator" ou o próprio "SQL Server Integration Services (SSIS)".

Mas para o uso de todas essas ferramentas, você vai precisar ter uma infraestrutura de TI na sua empresa para fazer a administração dessas ferramentas.

Na essência, todas elas trabalham conectando no banco de dados e manipulando as informações que estão contidas nele. O ideal é que você consiga modelar e estruturar bem sua arquitetura de BI e os processos relacionados. Assim você vai poder definir bem a estrutura de um Data Warehouse, Data Marts e/ou Data Lakes, para ser utilizado em suas aplicações de BI.

É um processo cheio de detalhes rs....
Mas respondendo mais diretamente à sua pergunta: O processo de ETL é executado conectado ao Banco de Dados.

Espero ter ajudado!

Abraço.

  • Thanks 1
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
Em 05/06/2024 em 21:22, Ciro Zeferino disse:

Olá pessoal!

Tem como fazer ETL dentro de um banco de dados no SQL Sever?

ou tenho que realizar o ETL fora do banco de dados, e depois carregar os dados para dentro do banco de dados no SQL

Agradeço a ajuda.

Posso estar confundindo a pergunta, mas acredito que você esteja querendo saber se é possível fazer o ETL dentro do banco ou se precisa de ferramentas externas ao banco, não necessariamente que a outra opção seria o Power Query.

Mas, respondendo sua pergunta, sim. É possível você fazer o processo de ETL dentro do SQL Server.

O SQL Server tem estruturas de Procedures, onde você consegue estruturar o Pipeline de tratamento de dados e automatizar as extrações, os tratamentos e carregamentos em uma estrutura de DW.

É uma ferramenta muito útil quando está lidando com dados do próprio SQL Server.

Caso sua fonte de dados seja de várias localidades (ORACLE, API, Postgresql, Arquivos CSV, Excel, e afins), EU acho mais indicado fazer o processo de ETL à parte do Banco de Dados que será utilizado como DW.

Exemplo: no momento, atuo em um cliente que tem fontes de dados provindo do SAP Hanna, Postgresql, MySQL, Planilhas e APIs. Por isso todo o meu processo de ETL é realizado via Python e o Pipeline de execução é realizado via Airflow.

Com o Python eu realizo toda a camada de stage (de onde irei consumir os dados para construção do DW, assim não sobrecarregando o banco de Produção do cliente). Então, a primeira etapa, é extrair os dados de todas as fontes e inserir em um Schema de STAGE. Após realizar as extrações, faço todo o processo de Tratamento dos dados e carregamento dos dados também utilizando do Python E de SQL, tornando assim um processo de ETL robusto e de fácil compreensão para novos integrantes da equipe.

Espero ter ajudado!

  • Like 1
  • Thanks 1
Link para o comentário
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
×
×
  • Criar Novo...