Olá viciados em SharePoint e outras coisas mais que são impronunciáveis a essa hora, tudo bem?
Bem se você já conhece esse blog sabe que sou apaixonado por tecnologias Microsoft e com o SharePoint não poderia ser diferente, MAS... aí vem o grande MAS... não usem listas do SharePoint como Banco de Dados, porque as consultas a esse tipo de fonte são extremamente lentas e ineficientes seja no nosso Projeto no Power BI ou para qualquer outra coisa que você queira fazer que precise utilizar esses dados.
Então vamos lá, para nossa demonstração pra não ficar só no meu PAPO!
Para nossa demonstração eu criei três Fluxos de Dados (DataFlows) no Power BI Web utilizando 3 fontes de dados que possuem os mesmo dados, uma tabela de duas colunas e mais de 200 mil linhas, no Excel, SharePoint e Azure SQL Server.
Criei uma única entidade em cada Fluxo de Dados para que pudéssemos avaliar o tempo de atualização de cada uma das Fontes.
Conectei meu Power BI Desktop a esses Data Flows para que vocês possam ver que se tratam da mesma quantidade de linhas.
Acima lado a lado cada uma das tabelas demonstradas no exemplo.
Vamos então mandar atualizar TODOS os DataFlows, lembrando que somente uma das fontes utiliza Gateway de dados que é a Excel que está na minha máquina, tanto Azure SQL Server quanto SharePoint não utilizam Gateway.
Finalizada a atualização, vamos então verificar o tempo que cada uma dessas fontes levou até finalizar o processo na nuvem.
Eu já havia anteriormente atualizado uma única vez cada uma das Fontes para que possamos ter um comparativo se por alguma motivo houver alguma oscilação nos serviços da MS.
Para o Azure SQL Server os tempos de atualização foram de 32 segundos nas duas tentativas. Excelente não?
Nosso Amigo Excel também performou muito bem, graças a internet boa e ao processamento rápido da minha máquina. Então nesse exemplo empatou até com me SQL Server, o que nem sempre vai ocorrer.
Já o SharePoint, deu foi SONO meu irmão!!! Mais de 11 minutos nas duas tentativas.
O Azure SQL Server usado nesse exemplo foi o mais barato que existe na nuvem da Microsoft, que custa pouco mais de 22 Reais por mês, então a velocidade não se deu ao processamento violento da nuvem. Eu fiz um teste aumentando a quantidade de DTUs do meu Azure SQL Server e não mudou em nada o tempo de refresh do Power BI.
Acredito não haver mais dúvidas que listas no SharePoint não são as melhores opções além disso consultando dados no SQL Server (seja azure ou on-premise) podemos fazer consultas direct query, ou seja sem necessidade de dar um refresh no Dataset.
E por hoje é só coleguinhas.
Grande abraço e até a próxima.
Ai simm. Nobre amigo!! E caso o usuário só tenha a lista, ou eu choro, ou tento fazer um update para algum banco!
ResponderExcluirSe o SharePoint for obrigatório vc pode fazer um flow pra levar isso também para um banco ou até utilizar o SSIS.
ExcluirNão sei se é o melhor caminho, tenho um cliente que a unica opção era a lista então montei um excel com VBA (pois são várias listas) e com o Excel eu importo os dados de uma vez só e armazeno em um Access que pluga direto no Power BI.
ExcluirO Excel com VBA fica com uma macro rodando e de tempos em tempos ele faz a extração e armazena no Access e o Power BI atualiza em menos de 1 minuto todos os dados diretamente do Access.
Este comentário foi removido pelo autor.
ResponderExcluirNofa...quanta violência <3 #pas
ExcluirMuito bom Rafael, agora é avaliarmos o que podemos fazer com os recursos disponível.
ResponderExcluirVamos entrar em outras coisas em breve.
ExcluirÓtimo post Rafael!
ResponderExcluirEu recebo um excel automaticamente no sharepoint e de lá levo pro BI.
É possivel automatizar para levar esse excel para azure em formato de banco de dados?
Pode me indicar por onde procurar conteúdo disso?
Abraços
Oi Lucas vamos em breve ter alguns artigos sobre ferramentas de ETL profissionais, como SSIS e ADF e aí temos a possibilidade de levar esse excel sem problema algum para um banco seja na azure ou até no seu próprio ambiente on-premise.
ExcluirOi Rafa tudo bem
ResponderExcluirE se eu me conectar a uma pasta do Sharepoint o desempenho é o mesmo de se conectar em uma lista?
Boa pergunta !! Mas acredito que seja a mesma so devem mudar um bit de lista para pasta.
ExcluirOi Rafa, se eu utilizar o CDS como alternativa a lista do sharepoint eliminamos esse problema de lentidão?
ResponderExcluirSim o CDS é feita em outra infraestrutura.
ExcluirAqui na empresa não consigo fugir do SharePoint, usam listas como banco de dados porque são pessoas de outras várias empresas que inserem os dados. São 5 listas que forma 1 consolidada no BI, que une com outras 19. São 100 listas no total, que viram 20 listas e depois de Acrescentar consulta faz 1 lista geral no BI. Pensa no sofrimento do BI rodar essas 100 consultas.
ResponderExcluirEstou estudando qual possibilidade ofereço para sair do SharePoint (seja criando um sistema próprio integrado com banco de dados ou não) ou se há possibilidade dessa informação do BI ir automaticamente para um banco de dados e importar o banco para o BI.