Ir para conteúdo
  • 0

Reformulação de Projeto BI e ETL - Gestão Publica


caiocfsa
Ir para solução Solucionado por Michele ,

Pergunta

  • Alunos

Bom dia pessoal, tudo bom ?
Gostaria de uma dica de voces
eu trabalho atualmente como desenvolvedor de BI, tenho meu codigo fonte ETL (que faz apenas a copia das views ( bancos ) firebird e postgresql ) para dentro de outro postgresql como dimensões e fatos, porem os mesmos tbm ja estao nas views de cada produto que faço os relatorios, e esse processo de ETL é MUITO LENTO O DESENVOLVIMENTO pois utilizo uma ferramenta LOW CODE conhecida como GeneXus, e no Front-end também utilizo o GeneXus para fazer meus graficos com QUERYS, nada performatico e nada bonito, somos uma empresa de gestão publica, aonde temos varios ( secretarios, contadores ) dentro de uma prefeitura ( que é o nosso cliente ) quero um novo planejamento de BI para o nosso portfolio e queria muito a ajuda de voces
minha ideia inicial era conectar diretamente as VIEWS criadas em cada BANCO ( PRODUTO ) com o power bi, gerar os graficos e dashboards para cada sistema, ai eu conseguiria fazer isso de acordo com o gosto d ecada cliente e com a sua necessidade, isso daria certo ?

e outra duvida q tenho é em relação a gestao de usuarios, como disse sao varios usuarios dentro de um cliente nosso ( uma prefeitura por exemplo) cada usuario teria q comprar sua propria licença pro do POWER BI? ou eu conseguiria fazer a gstao de acesso atraves de uma unica licença ? 

Estou com a ideia também de refazer a DW que tenho de utilizar minha ETL desenvolvida a mao utilizar o pentaho, o que acham ?

Estou aceitando dicas e opinioes a respeito

Atualmente tenho visoes da contabilidade, saude, social, inss, saneamento

tenho que desenvolver materiais e licitações, frotas, rh e patrimonio alem de melhorar os produtos anteriores pois todos eles nao fazem uma analise preditiva apenas observa dados cruzados

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

Oi @caiocfsa!

Quando você fala em montar a ETL você quer dizer separar as duas Fatos e Dimensões a partir dessas views? Caso seja isso, com certeza o Pentaho será uma excelente solução, não o utilizei ainda, mas tudo que acompanhei sobre é que ele é bem performático.

Caso essas views já te tragam o que você precisa e usar no relatório de forma "pronta", não veria necessidade de incluir mais um fluxo no meio utilizando o Pentaho, eu já utilizaria essas views para criação dos Fluxos de Dados na nuvem do Power BI.

Para finalizar aqui utilizamos um único Workspace "Fluxos de Dados" para termos os fluxos num único local, o que facilita acompanhar se as atualizações ocorreram conforme esperado, dar manutenção, etc.

Tendo essas bases como Fluxos de Dados você modifica a fonte nos seus relatórios para puxar desses Fluxos.

Algumas observações importantes:

  • Os Fluxos de Dados te permitem mais organização das suas fontes de dados, mais slots de atualização (se você tem centenas de relatórios isso será uma necessidade) e utilização de recursos de forma simultânea.
  • Todavia, os Fluxos de Dados tem um contra que para mim incomoda, demora demais para baixar os dados quando você for dar manutenção em algum relatório, as vezes mais de 30 minutos, as vezes menos.
    • Com isso se você tem poucos relatórios, eu sugiro continuar puxando das views do banco de dados mesmo, pois puxa muito mais rápido. Aqui utilizamos Fluxos de Dados porque temos mais de 300 relatórios para agendar atualização, então estava impossível gerir isso puxando dados diretamente do SQL, mas se eu tivesse poucos relatórios continuaria puxando do SQL mesmo, muito mais rápido para fazer o download dos dados quando você vai dar manutenção no relatório.
  • Quando falo em puxar as views do banco, é ter um servidor especificamente para as DWs, não puxar do banco de produção. Aqui puxamos do banco de produção para o nosso servidor com as DWs na madrugada, que não gera impacto na operação do sistema e então puxamos para o BI a partir desse servidor das DWs.

De modo geral acho que é isso, recomendo muito estudar sobre essa parte de Fluxo de Dados, Conjunto de Dados, ver o que atende melhor a sua necessidade.

Caso você ainda fique com dúvidas talvez seja uma opção a sua empresa buscar uma consultoria especializada nessa parte, mas creio que dando uma olhada nisso que te falei você já vai conseguir esclarecer melhor as dúvidas e pensar na melhor estratégia para a estrutura necessária.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Olá @caiocfsa!

Não sei se ainda precisa de alguma ajuda/ideia neste sentido.

No meu fluxo trabalhamos com views no SQL para formatar as tabelas do jeito que precisamos, algumas tabelas tem 8M de linhas e mesmo assim está performático pra gente, ao menos até esse momento.

Nossa estrutura tem:

  • Base vinda do servidor de produção com apenas cópia simples das tabelas que usamos, para não exigir muito recurso do sistema de produção.
  • A partir dessa base montamos duas DWs nossas, uma mensal e outra diária. Fazemos assim pois como no Power BI não conseguimos restringir as atualizações em apenas mensais e alguns dados mudam, então fazemos assim para garantir a "foto" dos dados no último dia do mês.
  • Puxamos esses dados para Data Flows no Power BI, pois se você conecta seus dados diretamente na DW no banco você tem slots de atualização limitados, dá muito problema no gateway por causa de ter sempre algum relatório vindo no seu banco buscar dados, e para finalizar concorre com o seu uso no desenvolvimento, consultas, etc.
    • Temos um Data Flows Mensal e outro Diário.
  • Depois segregamos em mais Data Flows, para finalidades específicas, puxando então de um Data Flows para outro, pois temos mais de 300 relatórios, então precisamos de muitos slots de atualização e precisamos de uma estrutura mais ampla, fica mais complexa, mas deixa as atualizações bem redondinhas.
  • Além disso tudo ainda estamos criando mais uma etapa que é criar Conjunto de Dados, pois isso nos permite usar um mesmo conjunto para vários relatórios, no Conjunto ficam as tabelas, etl, modelagem, medidas, etc. e puxando esse Conjunto apenas trocamos o cliente no arquivo .pbix, assim se precisar dar manutenção em algo comum você altera apenas no Conjunto de Dados e já reflete na hora em todos os relatórios.

Isso tudo que eu falei a gente vem construindo desde o ano passado, então vai aos poucos. Recomendo estudar e testar essa parte de Fluxo de Dados e Conjunto de Dados, isso ajuda muito na organização na performance, pois se você conectar muitos relatórios diretamente no banco de dados você vai começar a ter problema com erro de atualização e vai ter que ficar atualizando coisa na mão, perdendo tempo com isso, etc.

Espero ter ajudado de alguma forma.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Olá Michele, obrigao pelos eu posicionamento
Aqui atuamente trabalhamos com views também nos bancos de produção
teremos 12 produtos com suas respectivas visoes

Minha proposta de reformulação é: 

  1. Montar a ETL com a Ferramenta KETTLE ( implementada em cada cliente ) assim cada cliente conteria seu DW
  2. Com o DW em NUVEM e sendo alimentado pelas cargas parciais ( diariamente ) o fluxo de dados do POWER BI iria buscar os dados na madrugada
  3. Assim eu teria performance no meu BACK-END com o Pentaho KETTLE, montaria um DW para cada cliente e cada Cliente teria seu workspace conectado ao seu proprio DW

    Visando este fluxo de dados e nesta visao oq vc acha ?
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Pela performance que e dos tamanhos de nossos bancos de produção sao grandes ( chegnado até 170gb) por mais que tenha as views sao 12 bancos
totalizando 12 produtos para montar os dashboards, por isso o pentaho

neste ponto acho que voce me ajudou mt

 

  • Quando falo em puxar as views do banco, é ter um servidor especificamente para as DWs, não puxar do banco de produção. Aqui puxamos do banco de produção para o nosso servidor com as DWs na madrugada, que não gera impacto na operação do sistema e então puxamos para o BI a partir desse servidor das DWs.

    pq ai todos os 12 produtos e seus respectivos bancos seriam realizadas as cargas na madrugada e dai durante o dia a dia eu trabalho com os dados direto do DW sem afetar a produção.

    de qualquer forma eu precisaria do pentaho para melhorar isso

    Obrigado, eu ainda nao cheguei na trilha avançada em publicação online e n entrei no modulo de governança dos dados que acho que la as coisas ficaria ainda mais claras
    de qualquer forma agradeço a ajuda
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Olá @caiocfsa,

Para um volume de dados assim com certeza o Pentaho tornará a carga muito mais performática.

O ideal é isso mesmo, sempre ter um ambiente intermediário, nunca puxar as atualizações direto de produção, além de não impactar em produção durante o dia de trabalho, você fica tranquilo que pode mexer a vontade que não vai impactar ninguém.

Ainda é comum nesse ambiente ter suas bases de PRODUÇÃO, de onde o BI puxa as atualizações, e o DEV, onde você pode ir fazendo as manutenções para testar se deu certo coisas que precisa incluir ou modificar, antes de mexer na sua DW de PRODUÇÃO.

Em questão de estrutura creio que esteja no caminho certo, desejo sucesso.

Se alguma pergunta te ajudou e puder marcar ela como Solução, para encerrarmos o tópico.

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...