top of page

Resultados de busca

262 resultados encontrados com uma busca vazia

  • Como o uso de técnicas de Visão Computacional pode impactar sua empresa

    O que exatamente é Visão Computacional? Só pelo nome já podemos pensar em bastante coisa, não é? Hoje o dataholic Lucas Araújo vai contar um pouco sobre como a aplicação dessa tecnologia pode ser benéfica. Se pensarmos por algum tempo sobre a parte biológica da visão, começamos a perceber o quão realmente espetacular ela é. Ainda assim, infelizmente, nós humanos possuímos algumas limitações, como enxergar com nitidez a longas distâncias e visualizar organismos microscópicos, também não podemos ver o que está fora do espectro de luz visível, como por exemplo, a luz infravermelha e a luz ultravioleta. Mas e as máquinas? Elas conseguem! Mini-Sumário: A Visão Computacional Aplicações de Visão Computacional Visão Computacional na sua empresa A Visão Computacional Desde que os primeiros computadores foram lançados, a humanidade tenta utilizar a capacidade dessas máquinas para realizar operações complexas de forma quase instantânea. Esta ainda é uma realidade bem distante, mas levando em conta a tecnologia nos dias de hoje, as máquinas já são capazes de ler muitas informações por segundo, auxiliando em diversas tarefas de rotina. Mas como exatamente isso é feito? Não podemos dizer que é algo simples, na verdade é bastante complexo e difícil de se imaginar que seres não biológicos, tais como máquinas e computadores, tenham a capacidade da visão humana. Qual o objetivo desse post de Visão Computacional, então? Calma meu jovem gafanhoto, chegaremos lá! A grande novidade aqui, é que o uso de tecnologias de Inteligência Artificial tem sido supervalorizado por conta de técnicas como o Machine Learning, Deep Learning e a Visão Computacional. Já temos um post sobre Machine Learning no blog! corre lá para ver :) A Visão Computacional (VC), é uma subárea da Inteligência Artificial, que tem como objetivo realizar treinamentos utilizando dados não-estruturados (imagens e vídeos) nos computadores para que vejam, interpretem, reajam e sejam capazes de interagir com diferentes tipos de situações no mundo real. Com esta técnica e muitas outras derivadas da inteligência artificial, a humanidade agora é capaz de realizar tarefas simples de forma completamente automática por meio das máquinas. Aplicações de Visão Computacional Há diversas aplicações onde ela pode ser usada, alguns exemplos são: automatização de processos repetitivos, reconhecimento de objetos, detecção de movimento, restauração de imagens, carros autônomos, identificação de doenças, análise de estoque de produtos, prevenção de acidentes, detecção de sentimentos, entre outros. Ufa! Fora as que não foram citadas, existem também grandes empresas como Apple, Amazon, Google, Microsoft e Facebook liderando os investimentos em visão computacional, além uma imensa quantidade de startups de inteligência artificial, que são compradas por estas empresas todos os anos. Uma delas que entrou em destaque recentemente foi o Facebook, que está apostando as suas fichas no Metaverso, eles estão utilizando técnicas de visão computacional principalmente para a criação de avatares interativos em parceria com a NVIDIA, que são altamente detalhados. E quanto às técnicas? As principais técnicas que são utilizadas em VC estão listadas a seguir: Classificação de imagens: Um dos problemas mais usuais, acontece quando a saída da classe de imagem é a única possível, por exemplo: 0 ou 1, gato ou cachorro, entre outros. Segue a imagem abaixo para ficar mais claro: Figura 01 - Exemplos de imagens presentes na base CIFAR-10. Fonte: https://becominghuman.ai/training-mxnet-part-2-cifar-10-c7b0b729c33c Você pode se perguntar ainda: Se posso fazer isso eu mesmo, por que eu usaria Visão Computacional? Bom, agora imagine aquelas imagens guardadas em um banco de dados, são centenas e até milhares, certo? Uma máquina poderia classificar isso em segundos. E isso é possível com a visão computacional! Detecção de objetos: Já a detecção de objetos é um pouco diferente da técnica acima, podemos dizer que ela é considerada um avanço da classificação de imagens. Nesta técnica, realizamos a detecção de diversos objetos em uma só imagem. Como por exemplo nas imagens abaixo, temos diferentes tipos de objetos: Figura 02 - Detecção de objetos utilizando o modelo R-CNN na base MS COCO. Fonte: https://machinelearningmastery.com/applications-of-deep-learning-for-computer-vision/ Segmentação de objetos: Na segmentação de objetos, o processo é outro. Aqui é esperado que os objetos que estão nas imagens sejam detectados com uma maior precisão, para isso, paramos de utilizar as caixas retangulares ao redor deles e levamos em conta a borda entre eles, para ficar mais claro, veja a imagem abaixo: Figura 03 -Segmentação de objetos utilizando o modelo R-CNN na base MS COCO. Fonte: https://machinelearningmastery.com/applications-of-deep-learning-for-computer-vision/ Detecção e Reconhecimento facial: Por mais que pareça que estas duas técnicas são iguais, elas não são! Imagine a detecção de faces, ela detecta qualquer face que aparecer na sua frente, já o reconhecimento facial faz a leitura apenas do rosto da pessoa-alvo. Abaixo um exemplo de como isso é feito: Para fazer o exemplo do reconhecimento facial, utilizei imagens do nosso CEO Caio Amante e da CMO Letícia Carvalho, segue o exemplo: Figura 05 - Imagem sendo utilizada o reconhecimento facial do CEO e CMO da Dataside Fonte - Dataside, 2021 Esses são apenas alguns exemplos do que pode ser realizado com a Visão Computacional. Mas como eu posso usar Visão Computacional na minha empresa? Se seu questionamento agora é como implementar a Visão Computacional na sua empresa, podemos lhe oferecer algumas dicas sobre por onde começar. Você pode fazer tudo o que conseguir imaginar! Desde que tenha dados confiáveis de forma não-estruturada, é possível se beneficiar na sua empresa. Imagine uma câmera de vigilância em determinado estabelecimento, elas estão gerando dados nesse exato momento, mas a sua funcionalidade fica a cargo do que você pode escolher fazer com eles. Agora, pense sobre fazer o controle da quantidade de pessoas em um determinado lugar, o que poderia ser feito neste caso, seria o reconhecimento facial de cada funcionário ou, caso seja um estabelecimento, a contagem de clientes que passaram sobre a câmera de vigilância. Quer saber se os clientes gostaram do atendimento? É só interpretar as expressões faciais e os comportamentos de cada um e saber se gostaram ou não. Ainda há diversas outras aplicações que podem ser desenvolvidas com a Visão Computacional, quer saber mais? Então curti e comenta o que achou, depois é só compartilhar com alguém que também vai gostar desse conteúdo.💙🤳

  • Você conhece o Databricks?

    Neste artigo você vai conhecer a plataforma, suas vantagens, características e casos de uso. Boa leitura! Que a tecnologia impulsiona o crescimento de empresas, dos mais variados nichos, não é mais novidade. Mas, infelizmente, ainda que isso seja claro para quem está disposto a ver seu negócio em ascensão, para muitos empresários e empreendedores, a tecnologia ainda é vista como custo, e não investimento. A falta de conhecimento sobre esse universo de possibilidades é o fator limitante. Não entender o porquê de cada tecnologia, o que há por trás das tomadas de decisões assertivas e de projetos inovadores, faz com que grandes oportunidades sejam perdidas. Por isso, neste artigo vamos apresentar o Databricks, e assim abrir caminhos para novos conhecimentos em tecnologia e, com isso, novas possibilidades de crescimento. O que é o Databricks “Todos os seus dados, análises e IA em uma plataforma lakehouse” essa á a definição que você vai encontrar assim que acessar o site do Databricks, uma plataforma colaborativa - desenvolvida pelos mesmos criadores do Apache Spark, que possibilita que os times de engenheiros de dados, cientistas de dados e engenheiros de Machine Learning trabalhem em um mesmo ambiente. Com isso, ao invés de cada time ficar limitado em suas atividades e, consequentemente, limitando oportunidades, com o Databricks os profissionais têm mais liberdade para criar novas possibilidades, gerar mais insights. De forma simples, aberta e colaborativa. “Ele é construído em código aberto e padrões abertos para maximizar a flexibilidade. E seus recursos colaborativos nativos aceleram sua capacidade de trabalhar entre equipes e inovar mais rapidamente.” - Databricks Plataforma Lakehouse Vamos voltar um pouco na parte do texto em que foi mencionado sobre a definição do Databricks, sendo “plataforma lakehouse” uma parte muito importante. Para entender melhor essa importância, compartilhamos com você esse trecho de um dos artigos do blog Databricks: “O lakehouse é uma nova arquitetura de gerenciamento de dados que simplifica radicalmente a infraestrutura de dados corporativos e acelera a inovação em uma época em que o aprendizado de máquina está pronto para revolucionar todos os setores. No passado, a maioria dos dados que entravam nos produtos de uma empresa ou na tomada de decisões eram dados estruturados de sistemas operacionais, enquanto hoje muitos produtos incorporam IA na forma de visão computacional e modelos de fala, mineração de texto e outros. Por que usar um lakehouse em vez de um data lake para IA? Um lakehouse oferece controle de versão de dados, governança, segurança e propriedades ACID que são necessárias mesmo para dados não estruturados.” As principais características de um Lakehouse, também abordadas no blog Databricks, reforçam o porquê de se um investimento assertivo para as empresas. Sendo elas: ● Suporte a transações; ● Aplicação e governança de esquema; ● Suporte de BI; ● O armazenamento é desacoplado da computação; ● Formatos de armazenamento com abertura; ● Suporte para diversos tipos de dados, desde dados não estruturados a dados estruturados; ● Suporte para diversas cargas de trabalho; ● Streaming de ponta a ponta Casos de uso Com uma plataforma construída para proporcionar fluxos de trabalhos simplificados e que permitem interação entre engenheiros de dados, cientistas de dados e engenheiros de Machine Learning, pode-se esperar só vantagens, como ter vários tipos de visualizações de dados, criação e compartilhamento de painéis, extrair excelentes insights, desenvolvimento de modelos e gerenciamento de testes. Confira alguns casos de uso compartilhados na documentação do Databricks: ● Aplicação de análises avançadas para aprendizado de máquina e processamento de gráficos em escala; ● Aprendizado profundo para aproveitar o poder de dados não estruturados, como IA, interpretação de imagens, tradução automática, processamento de linguagem natural e muito mais; ● Armazenamento de dados rápido, simples e escalável; ● Detecta ameaças proativamente com ciência de dados e IA; ● Analisa dados de IoT de séries temporais e sensores de alta velocidade em tempo real; ● Facilita a execução das solicitações de titulares de dados do GDPR. Conte com profissionais especializados Como podemos ver, o Databricks é uma plataforma indispensável para quem quer ter vantagem competitiva em relação aos concorrentes, evoluir e reduzir riscos. A melhor estratégia aqui, é unir a tecnologia certa com profissionais especializados. Lembra que a falta de conhecimento é o fator que limita empresários e empreendedores de investirem em tecnologia? Algumas empresas pagam por plataformas e ferramentas incríveis como o Databricks, mas não contam com profissionais munidos de conhecimento para atuar da melhor forma possível, para aproveitar os recursos com inteligência e estratégia e, com isso, trazer resultados reais. Por isso, acabam com prejuízos e frustrações, deixando de ver a tecnologia como investimento e sim como custo. Então, agora que você conhece o Databricks, vem conhecer o time de Advanced Data Analytics da Dataside. Assim, você vai contar com profissionais especializados que atuam na plataforma para que cada vez mais empresas sejam orientadas a dados e tomem decisões inteligentes. Ficou com alguma dúvida? Quer conversar sobre a plataforma? Entre em contato com a gente! Pensou em dados. Pensou Dataside. 💙🚀

  • A grande escolha: Tableau ou Power BI?

    Neste artigo o dataholic Ádans Ádpool aborda sobre uma grande questão no mundo dos dados: a escolha entre Tableau ou Power BI. Boa leitura! 💙 Começo esse artigo fazendo referência a um grande filme que no original se chama Draft Day. Nesse filme um gerente geral da NFL usa muita estratégia para conseguir contratar os melhores jogadores no famoso draft da liga de futebol americano. E para tratar de um assunto que sempre causa controvérsia e debates calorosos no meio dos profissionais de análise de dados / Business Intelligence, o principal para chegarmos a decisão final, é saber qual a sua estratégia. Por anos estas duas ferramentas de Visualização de Dados, vem concorrendo por mais espaço no mercado. E consequentemente por vezes essa questão é discutida em empresas para que definam qual ferramenta será adotada em seu projeto de análise de dados. Como na maioria dos artigos que existem com essa comparação, vamos definir alguns critérios que diferenciam ambas em seus principais pontos positivos e negativos. Visto que falamos das principais ferramentas nessa área e que lideram com folga ante as rivais, de antemão afirmo que são duas ótimas plataformas e que podem ser importantíssimas na transformação das empresas para a tão sonhada cultura data driven. Ter uma empresa que se baseia em dados em cada tomada de decisão é hoje tão importante, quanto ter café de graça para seus colaboradores. Entender as mudanças de comportamento, padrões e possíveis tendências com eficiência e agilidade. Pode significar crescer ou morrer em um mundo corporativo que é cada dia mais digital e dinâmico. Nesse conceito, ter disponível informações confiáveis e em tempo real. levando essas visões para o maior número de pessoas. E que elas entendam exatamente o que está sendo visto é um grande desafio. E tanto o Tableau como o Power BI cumprem esse papel, entregando uma ferramenta capaz de criar gráficos, painéis de controle, dashboards e relatórios das mais diversas formas. Mas para entender qual delas é de fato a melhor preciso que você saiba que não existe esse consenso. O que existe é a melhor ferramenta para a sua situação, essa escolha depende e muito do seu cenário. Como adiantei vamos tocar em algumas características das plataformas para trazer dados que podem fazer a diferença na sua decisão. Se você não está acostumado com isso, seja bem-vindo a era data driven! Iniciando nos pontos em comum entre as duas ferramentas, temos algumas características que são praticamente equivalentes entre elas: Conexão com várias fontes de dados; Criação de gráficos simples com poucos cliques; Capacidade de Tratamento dos dados. Agora vamos aos pontos de destaque de cada uma delas. Sumário Por ordem cronológica vamos falar primeiro do Tableau. Agora vamos ao Power BI Por ordem cronológica vamos falar primeiro do Tableau. Desde 2003 essa ferramenta tem como lema a capacidade de “Ver e Explorar”. Através de visualizações mais atraentes as quais eram criadas em ferramentas como o Excel e de interatividade na exploração dos dados apresentados. A dianteira de 10 anos sobre o Power BI fez com que o Tableau conseguisse ser uma ferramenta mais robusta e com mais praticidade na criação e manipulação dos gráficos/visões criadas. Outro ponto positivo para o Tableau é que existem as várias maneiras de ser “instalado”, pois você pode ter uma instância local para publicar e compartilhar suas pastas de trabalho, ou pode usar o serviço online de servidores da própria plataforma. E, por fim, como ponto principal temos a capacidade do Tableau trabalhar uma quantidade grande de dados. O chamado Big Data é uma realidade e o Tableau tem uma vantagem nesse quesito em relação ao Power BI. Por isso, muitas vezes é ligada a plataforma uma necessidade de estruturação dos dados da empresa que adquiri o Tableau em um Data Ware House. Mas não é um pré-requisito esse tipo de arquitetura, e sim uma consequência do processo de ter uma companhia Data Driven. Não é suficiente muitas vezes ter somente a ponta final com uma ferramenta de Visualização de dados, mas também se faz necessário um trabalho pesado e difícil de estruturar esses dados da melhor maneira. Voltando aos pontos do Tableau, uma questão que muitas vezes assusta quem pretende contratá-lo é o custo, que na maioria das vezes é bem maior que de seu concorrente. Como já apontado existem alguns tipos de licenciamento da plataforma, mas ainda assim o custo muitas vezes é maior em relação ao Power BI. Outro ponto é a falta de familiaridade das pessoas ao uso da ferramenta. Pois comparada ao Power BI que vem com uma usabilidade similar ao Office 365, para usar o Tableau a pessoa vai precisar fazer uso dos cursos disponibilizados gratuitamente no site da plataforma e algumas vezes da comunidade que conta com mais de 220.000 usuários na comunidade pública do Tableau para ajudar na adaptação. Agora vamos ao Power BI Aproveitando a deixa do último ponto apresentado, temos um dos principais aspectos do aumento de uso da ferramenta da Microsoft: a integração com um pacote que todos usamos há muito tempo. O Power BI atualmente vem no pacote office, e tem em seus menus, funções e layout a mesma dinâmica das outras aplicações deste grupo. Por essa razão também temos outro ponto muito positivo, o custo da licença para uso é muito menor que o Tableau. A implantação do Power BI só existe no modelo SaaS (Software Como Serviço), tendo o ambiente de publicação e compartilhamento somente nos servidores online da Microsoft. Outro fator que trouxe muitos adeptos é a velocidade das melhorias e atualizações que a Microsoft traz para o Power BI. Mensalmente temos novidades, como novas funções e novas integrações a outras aplicações. O resumo da ópera é que as duas têm características que podem fazer delas a ferramenta certa para você e sua necessidade. O Tableau vem com uma comunidade mais sólida, uma capacidade de processamento de grande quantidade de dados, mais diversidade de modos de implantação, visões mais refinadas e interativas, porém com um custo mais alto e a necessidade de adaptação a sua usabilidade maior. Enquanto no Power BI temos uma facilidade de uso por fazer parte da família Office 365. Familiaridade ao layout e uso por seguir o padrão de todas as aplicações da Microsoft. Custo reduzido para aquisição de licença e pacotes mensais com novos recursos. Mas ainda é menos fluído para criação das visões e dashboards, oferece somente uma forma de implantação e possui um limite para volume de dados na primeira faixa do valor de sua licença. O legal desse embate é que temos muitas melhorias e funcionalidades sendo especuladas em ambas as ferramentas, impulsionadas por essa concorrência. Então defina bem o seu objetivo, entenda as características do seu projeto de dados. Faça testes nas versões gratuitas de ambas as ferramentas. Para que sua escolha possa ser a melhor possível. Agora conta pra gente, tem preferência por uma dessas ferramentas? Como dito acima, para cada caso existe uma ferramenta ideal. Mas para a escolha certa e manipulação cuidadosa dos dados, não existem dúvidas de que é fundamental contar com profissionais capacitados. Por isso estamos aqui, conte conosco. Pensou em dados, pensou Dataside. 💙

  • Utilização da ferramenta DMA para análise de migração do banco de dados

    O dataholic Thiago Barbosa compartilhou seus conhecimentos sobre o uso da ferramenta DMA. Bora aprender com ele? Olá, pessoal! Neste artigo vou mostrar uma ferramenta muito interessante para migração de versão do SQL Server. Resumo do caso: Cliente precisava migrar uma instância SQL 2014 para SQL 2017 e com isso precisava ser avaliada a estrutura dos bancos para saber se não teria nenhum impacto na migração. Com isso utilizei a ferramenta DMA (Data Migration Assistant) da Microsoft. (Visão geral do Assistente de Migração (SQL Server) – SQL Server | Microsoft Docs) Essa ferramenta tem duas opções que podemos utilizar Assessment – Avalia a estrutura de todos os databases e informa o que precisa ajustar antes de realizar a migração para outra versão do banco. Migration – Executa a migração dos databases para a nova versão do banco. Nesse artigo irei mostrar a opção Assessment, e uma forma mais fácil de analisar o relatório final que a ferramenta gera. Obs.: Essa opção não gera indisponibilidade no ambiente. Após preenchermos os campos com o nome do projeto, o tipo de avaliação, o tipo de servidor de origem e o tipo de servidor de destino, iremos clicar em Create. Na próxima tela iremos informar qual é a versão que estamos querendo migrar a instância. Nesse exemplo eu irei validar se o ambiente está compatível para o SQL 2017. Marcando essa opção clique no botão Next. Na próxima tela clique no botão Add sources, passe as informações da instância que será avaliada e um usuário com permissão para ler as estruturas das bases de dados. Clique no botão Connect. Funcionando a comunicação com a instância será exibida a lista de bases de dados, clique no check box para selecionar todas as bases de dados ou caso queira validar somente alguma seleciona qual base quer fazer a validação. Feito isso clique no botão Add. Depois de adicionar as bases de dados, clique no botão Start Assessment Após a ferramenta validar todas as bases de dados, ela vai mostrar um check com ícone verde em frente a cada base de dados. Nesse report final ela mostra em abas as versões de compatibilidade que validou para cada base, mostra no primeiro bloco quantos objetos serão impactados, no segundo bloco as informações detalhadas, no terceiro bloco quais são os objetos impactados e no quarto bloco uma recomendação para corrigir os impactos. Os itens mais críticos seriam os que aparecem no Breaking Changes, pois sem essas correções a migração não terá sucesso. Caso queira exportar esse relatório, temos duas opções, gerar um arquivo CSV ou JSON. Clicando no botão Export report escolha qual extensão você quer salvar o relatório. Vamos salvar o relatório em extensão JSON. Tendo esse arquivo salvo, iremos criar uma tabela para facilitar a análise dos objetos impactados em todas as bases que iremos migrar. Iremos utilizar o script abaixo. Temos dois pontos que devemos alterar no script: o nome da tabela que queremos criar no banco e o caminho onde o arquivo está salvo. Após criar a tabela no banco, podemos trabalhar em cima das informações e fazer as análises com mais facilidade. Segue um exemplo de consulta nessa tabela. Espero que dessa forma facilite sua análise quando for fazer uma migração e assim possa passar para os DEV’s quais objetos eles precisam corrigir no banco para que a migração aconteça e a aplicação não venha a ficar indisponível. Outra dica para realizar a migração seria configurar um extended events ou profiler para capturar comandos descontinuados que são utilizados por alguma aplicação. Pois o DMA só analisa a estrutura que está salvo no banco. Mais informações podem ser visualizadas nos links: https://www.youtube.com/watch?v=txpeHMJNQPU&t https://www.youtube.com/watch?v=xN3UoIRLWxo Gostou do conteúdo? Curta, comente e compartilhe. 💙

  • Databricks: Otimizando a ingestão de dados no seu Delta Lake com Auto Loader e COPY INTO

    O dataholic Fabiano Lira escreveu um artigo para compartilhar conhecimento sobre o Databricks. Bora conferir? E se você não tivesse que ler milhares de arquivos toda vez que rodasse seu pipeline de dados? Imagine que você tenha o seguinte fluxo no Databricks: Milhares de arquivos JSON pousam no seu Data Lake, de forma constante e ininterrupta, na landing zone. Você precisa ler esses arquivos a cada 10 minutos e inserir os dados em uma tabela bronze, já em formato delta. A cada execução, você precisa desconsiderar os arquivos já lidos, ou seja, realizar uma leitura incremental dos arquivos na landing/transient zone. Esse é um fluxo de ingestão incremental muito comum, mas com diferentes formas de se implementar, dentre elas: Gerenciamento de arquivos através de catálogo de metadados, onde podemos realizar o controle dos arquivos já lidos. Gerenciamento através de eventos, onde ao receber o arquivo, o Object Storage gera um evento, que é recebido por algum outro serviço, como uma Azure Function ou AWS Lambda, e dispara o notebook passando uma série de parâmetros para processamento daquele(s) arquivo(s) em específico. Não entrarei nos detalhes de cada abordagem explicando os prós e contras de cada um. Mas algo que é comum entre as duas é que ambas vão requerer algum tipo de implementação e manutenção. No caso da segunda abordagem ela ainda tem o problema de não ser repetível. Isto significa que precisarei gerenciar o caso de eventualmente um arquivo não ser corretamente processado e/ou precisar reprocessá-lo. Enfim, teríamos uma certa dor de cabeça. O Databricks possui algumas features que resolvem este problema de forma elegante, para dizer o mínimo. Uma delas é o Auto Loader. Caso você tenha um cenário onde precise processar arquivos assim que eles chegam no Data Lake, você passa o diretório que será “observado” e os arquivos podem ser processados assim que chegam. Caso não precise de um SLA muito baixo, basta executá-lo em modo batch, como veremos mais abaixo. O Auto Loader magicamente controla quais arquivos já foram processados, utilizando alguns serviços automaticamente gerenciados, fazendo com que sua implantação seja fácil e rápida. Neste exemplo, para facilitar, vamos utilizar o Azure Event Hub Capture. Essa funcionalidade nos permite despejar eventos do Azure Event Hub, em intervalos pré-configurados, direto em uma storage account. Os eventos são gerados em formato AVRO, em pastas organizadas por partição e data, conforme imagem abaixo. Percebam que para fazer uso da funcionalidade, basta utilizarmos o formato cloudFiles como source do Structured Streaming. O método trigger com o parâmetro “once=True” define que os novos arquivos serão processados e a execução do código será finalizada. Essa trigger pode ser modificada caso precisemos de um SLA menor de processamento, fazendo com que essa execução seja contínua. Dessa forma, se novos arquivos caem no Data Lake logo são processados. Uma abordagem similar para batch, caso queira utilizar SQL, é o comando COPY INTO. Como destino especificamos uma tabela delta. No nosso exemplo ficaria desta forma: Lembrando que ambas as abordagens são idempotentes, ou seja, podem ser executadas novamente em caso de falhas e terão o mesmo resultado, a não ser que você modifique este comportamento, fazendo uso de parâmetros específicos, como por exemplo para reprocessar todos os arquivos. Caso tenha curiosidade, uma série desses parâmetros estão disponíveis na documentação do Databricks, COPY INTO (Delta Lake on Databricks). A Databricks mais uma vez mostra que é uma plataforma diferenciada e sem dúvidas facilita muito a ingestão de dados com esse recurso. E você, já utiliza nos seus pipelines? Dúvidas, críticas, elogios, sugestões? Deixe seu comentário!

  • Alteração em lote de tamanho de colunas com constraints

    Neste artigo, o dataholic Felipe Aguiar compartilha uma forma de alterar em lote o tamanho de colunas que fazem parte de uma primary key ou outras constraints. Cenário: Cliente solicitou que fosse alterado o tamanho de todas as tabelas que continham a coluna [SERIE] de varchar(3) para varchar(5). O Problema: Várias tabelas possuíam esta coluna como uma primary key, sendo necessário, desta forma, dropar as constraints e índices, assim como alterar as foreign Keys. Essa procedure tem como objetivo retornar no output todos os comandos que precisam ser executados e em ordem, para que esta operação possa ser realizada com sucesso. Exemplo : use tempdb; exec altera_tamanho_coluna_lote  @nome_coluna_alvo = ‘serie’, @tipo_dados_tamanho = ‘VARCHAR (5)’ Sem mais delongas, vamos ao script da procedure: Montando o cenário: Criamos a tabela que irá guardar os scripts Nesta parte, buscamos todas as tabelas que contenham a coluna informada Agora buscamos todas as FOREIGN KEYS ligadas as tabelas que identificamos anteriormente Aqui, retornamos todas as PRIMARY KEYS que estão vinculadas a coluna que vamos alterar o tamanho. Neste passo, buscamos as default constraints para serem recriadas também. Aqui, estamos buscando as colunas / tabelas que estão ligadas por uma foreign key a alguma tabela que possui a coluna [SERIE], porém que a tabela “filha” não tenha o mesmo nome de coluna. Exemplo: [Tabela1] Possui a coluna [Serie] [Tabela2] Possui a coluna [Serie2] que é uma foreign key da [Tabela1] coluna [Serie] Pequena validação para travar o script caso existam outras constraints não suportadas atualmente nesta versão do script. Aqui temos um passo extra, onde verificaremos o tamanho das tabelas e dos índices. Ajudará na tomada de decisão quanto a janela de manutenção necessária para realizar a alteração do tamanho da coluna. Por fim, mas não menos importante, temos a recriação dos índices: Após coletado todas as informações necessárias, vamos inserir todos os scripts em uma tabela e realizar a ordenação E aqui, podemos exibir todos os scripts necessários para a realização desta tarefa. Procedure disponível em: scripts_publicos/altera_tamanho_coluna_lote.sql at main · aguiarfpmr/scripts_publicos (github.com) Espero que tenham gostado e que esse conteúdo possa ajudar de alguma forma, em uma demanda similar.

  • Os 12 Indicadores de sucesso para medição do departamento de TI

    O monitoramento dos indicadores de infraestrutura de TI pode identificar gargalos e oportunidades, reajustar e corrigir falhas e, por fim, aumentar a produtividade e a receita da empresa. Saiba mais no artigo escrito pelo dataholic Henrique Melo. Já faz tempo que a TI não é mais considerada uma área de atividade auxiliar do mundo corporativo. A tecnologia exerce um papel estratégico no desempenho de uma empresa. A melhor forma de monitorar o desempenho da área é por meio de indicadores de TI. Compreender a importância de rastrear essas métricas e identificar quais são as mais importantes para sua estratégia de negócios é fundamental para otimizar sua infraestrutura de TI e fazer com que ela atinja todo o seu potencial. Sumário Como medir a eficiência de TI? 1. Problemas relatados 2. Utilização de sistemas de gerenciamento de negócios 3. Tempo de resposta 4. Cálculo do custo do suporte por usuário 5. Cálculo do custo por colaborador 6. Cálculo das despesas de TI em relação ao gasto total 7. Média de tempo entre falhas 8. Tempo médio de reparo 9. Tempo de disponibilidade 10. Tempo de inatividade referente à um problema de segurança da informação 11. Quantidade de problemas recorrentes 12. Índice de sucesso de restauração Como medir a eficiência de TI? De um modo geral, os indicadores-chave de desempenho (KPIs) são indicadores que acompanham o desempenho de uma empresa em uma determinada área ou processo específico. Os resultados das medições quantitativas são muito importantes e auxiliam na tomada de decisões para solução de problemas e otimização de processos. O monitoramento dos indicadores de infraestrutura de TI pode identificar gargalos e oportunidades, reajustar e corrigir falhas e, por fim, aumentar a produtividade e a receita da empresa. A eficiência de TI é medida por meio da análise de indicadores, que podem conter informações sobre o desempenho da equipe, equipamento ou usuário e a relação do cliente com o domínio de TI. Bons Indicadores de TI estão alinhadas com a estratégia da empresa. Com eles, você pode medir se a infraestrutura está operando alinhada com o negócio, quais melhorias podem ser feitas e como otimizar processos e melhorar o desempenho. Com isso separei 12 indicadores que toda companhia deve ter para garantir a excelência do seu departamento de TI. 1. Problemas relatados Determine quais são os problemas mais relevantes relatados por sua equipe e seus clientes, a fim de remediar ou evitar esses problemas em experiências futuras. 2. Utilização de sistemas de gerenciamento de negócios Verifique quantos usuários estão usando CRM ou ERP. O sistema otimiza os processos internos para maximizar os resultados! 3. Tempo de resposta O longo tempo de espera é um fator que afeta o negócio e, mesmo que seja resolvido, os usuários podem ficar insatisfeitos, o que afeta diretamente os negócios da empresa. 4. Cálculo do custo do suporte por usuário Ao considerar especificamente o suporte ao usuário, dê prioridade ao fornecimento de atendimento de alta qualidade no menor tempo possível, sem se preocupar com custos. 5. Cálculo do custo por colaborador Desfrutar das ferramentas certas é importante, mas considere que sempre haverá inovações ou novidades disponíveis. 6. Cálculo das despesas de TI em relação ao gasto total As novas tecnologias nunca se esgotarão e é importante fazer os investimentos apropriados para que seu sistema funcione sem problemas, sem afetar o orçamento geral da organização. 7. Média de tempo entre falhas Como calcular o tempo que se perde com ativos indisponíveis Tempo médio entre falhas = (Tempo de disponibilidade – Tempo de parada) / Quantidade de falhas. 8. Tempo médio de reparo É medir quanto tempo, em média, sua equipe pode demorar para resolver um problema. Tempo médio de reparo = Tempo médio de solução / quantidade de falhas 9. Tempo de disponibilidade Uma das principais metas da empresa, deve-se sempre manter este indicador alto e o tempo médio de reparo inferior. 10. Tempo de inatividade referente à um problema de segurança da informação Uma das principais metas da empresa deve ser sempre manter o indicador em níveis altos e o tempo médio de reparo inferior. 11. Quantidade de problemas recorrentes É a porcentagem de chamados reabertos para o tratamento do mesmo problema. 12. Índice de sucesso de restauração É calculado a porcentagem de vezes em que a restauração dos sistemas foi bem-sucedida em um tempo considerado aceitável pela companhia. Espero que esse conteúdo tenha sido útil. Curta, comente e compartilhe com os amigos. 💙

  • O dia em que o SQL Agent parou de gravar no histórico

    Neste artigo técnico, o dataholic Fábio Ramos aborda sobre o caso em que o SQL Agent parou de gravar no histórico e mostra como encontrou a solução. Vem aprender com ele! Olá, pessoal! Neste artigo vou mostrar um caso real que aconteceu envolvendo o SQL Agent. Resumo do caso: Cliente ao consultar o histórico de um Job, evidenciou que o mesmo não estava no histórico de execução. O último registro que tinha era de meses atrás. A duração desse último registro é que estava sendo executado há muito tempo. Simulei no meu ambiente o mesmo cenário. Job com 3 steps: Percebam que antes do “problema” (em verde), o histórico estava sendo gravado sem problemas. Porém, ficou congelado ali no Step2 como In Progress e a duração só aumentando: Executei um Refresh, e a duração saiu de 6 minutos para 11: Início do troubleshooting, como pode um waitfor delay de 5 segundos estar ainda em execução? WhoIsActive? Nada. Vamos filtrar na sys.sysprocess, vai que… Para isso, executei a query abaixo para pegar o hexadecimal, para que eu possa filtrar pelo “Program Name” do job: Nada também: Tá, e se eu executar o job? Se ele de fato estiver em execução, tomarei um erro… Job executado com sucesso: Consultando o histórico novamente, nada mudou, não gravou o histórico e a duração continua acumulando: Será que meu Agent está expurgando esses dados? Também não está limitado… E se reiniciar o Agent? Vamos lá… Mesmo cenário: Quase sem opções, decidi ligar o Profiler e rastrear o Job. Eis que encontro o erro “Arithmetic overflow error converting IDENTITY do data type int”: Peguei o trecho e executei na mão: Vamos abrir essa procedure e ver o que tem na linha 125: Consultando a estrutura da tabela, temos um identity pela coluna instance_id, que é um INT: Verificando o valor atual desde IDENTITY: Pois é, chegou ao seu limite… Lembrando que os Jobs internos de expurgo de Job History do SQL Server, utilizam DELETE, com isso o valor do identity segue a vida incrementando. Após isso, foi feito o recycle do IDENTITY na tabela: Realizei a limpeza também do histórico deste Job, para que não continue com aquela sujeira de estar executando há muito tempo: Histórico gravando novamente: Caso você queira simular este problema, basta durante a execução de algum Job aumentar o IDENTITY da sysjobhistory para o limite do INT: Espero que tenham gostado e que eu tenha agregado um pouco de conhecimento à vocês. Até a próxima!

  • Eu preciso ser grande para fazer Machine Learning?

    É comum acreditar que para fazer Machine Learning uma empresa precisa ser gigante, mas esse artigo vai desmistificar isso e mostrar que, independente do tamanho do seu negócio, é possível aplicar o Machine Learning. Vem com a gente! Vamos começar sem enrolações: NÃO, não é preciso ser grande para fazer Machine Learning. Você pode começar agora, do lugar em que você está e com o que você tem. Afinal, isso não depende do tamanho de uma empresa, MAS se você quer ser grande, ou melhor, gigante, é fundamental entender a importância do uso dessa tecnologia para o crescimento de um negócio. Sumário Como as máquinas aprendem Padaria + Machine Learning, é possível! Se tem dados, é possível Como as máquinas aprendem É importante conhecer sobre o como funciona esse aprendizado das máquinas para desmistificar a ideia de que é preciso ser grande para fazer Machine Learning. O aprendizado acontece quando as máquinas são alimentadas com uma base de dados coletados. Alguns exemplos de informações que podem ser coletadas no seu negócio são: Estimativas de lucros; Quanto um cliente gasta no seu negócio; Com o que seu cliente mais gasta, suas preferências. Assim é possível tomar decisões, criar estratégias e melhorar as experiências para o seu público. Padaria + Machine Learning, é possível! O case da padaria que faz Machine Learning para aumentar o lucro e melhorar a experiência dos clientes é um excelente exemplo a seguir. Não deixe de conferir, é rapidinho e você aprende em 1 minuto. Lembrete importante: as possibilidades do Machine Leraning são muitas, mas neste artigo estamos com foco no mundo dos negócios, por isso os exemplos são focados neles. Para aprender mais sobre Machine Learning, no contexto geral, tem um vídeo especial em nosso canal, Dataside Community, sobre o tema, em que o dataholic Lucas Costa explica tudo de forma muito acessível e sem “tecniqueis”. Confira: Se tem dados, é possível Negócios, independente do tamanho ou segmento, geram infinidades de dados, sendo assim, a base para fazer Machine Learning você já tem. Não importa se sua empresa é pequena, média ou grande, se você valorizar seus dados e investir em análises para usá-los de forma inteligente, o crescimento é garantido. Conte com a Dataside para se desenvolver a partir dos dados. 💙

  • Listener do AlwaysOn com Dynamic Network Names no Azure

    Por: Fábio Oliveira Neste artigo vou explicar sobre esta feature do Azure para realizar conexões no Availability Groups através de um Listener somente com a porta configurada. Mas antes quero saber de você, olhando para o print abaixo, esse Listener funciona ou não funciona? Cadê meu IP Address? Recentemente estava subindo um ambiente de teste com AlwaysOn Availability Groups no Azure, e lendo a documentação me deparei com uma feature chamada DNN (Dynamic Network Names), onde a partir do SQL Server 2019 Cumulative Update 8, num Windows Server 2016 temos a possibilidade de substituir a configuração convencional do Listener no Azure (Com Load Balancer, associando IP e etc) para uma configuração que precisa somente de uma porta disponível. Outros pré-requisitos: A porta deve ser única entre todas as réplicas do AlwaysOn, nenhuma outra conexão pode compartilhar a mesma porta. A aplicação tem que suportar o parâmetro MultiSubnetFailover=True na connection string. Como ele consegue realizar o roteamento do tráfego? Ao criarmos o DNN, internamente ele associa os IPs dos meus nós do AlwaysOn ao nome do Listener: O ponto forte desta feature é que eliminando o Load Balancer na teoria diminuímos o tempo de failover. Aqui temos o ambiente configurado: De dentro do meu servidor primário, realizei a conexão com o Listener: Farei o mesmo teste de dentro do meu servidor secundário: Como assim? Não tenho rota de leitura configurada e muito menos especifiquei o parâmetro -K ReadOnly, esse trem funciona mesmo? Outro pré-requisito é que especifiquemos o nome do Listener mais a porta para que funcione de forma correta o roteamento: E como realizo a configuração do meu Listener com DNN? A própria Microsoft disponibiliza um Powershell neste link, onde passamos apenas o nome do grupo de disponibilidade, o nome do listener e a porta a ser utilizada. Espero que tenham gostado e que como pra mim, seja uma novidade para vocês também. Até a próxima. Fontes: Configure DNN listener for availability group – SQL Server on Azure VM | Microsoft Docs Feature interoperability with availability groups and DNN listener – SQL Server on Azure VM | Microsoft Docs Tutorial: Configure a SQL Server Always On availability group – SQL Server on Azure VM | Microsoft Docs #conteúdotécnico

  • Eu preciso ser grande para fazer Big Data?

    Existe uma grande barreira responsável por impedir que empresas – sejam elas grandes, médias ou pequenas – invistam em Big Data, essa barreira é a falta de conhecimento. Muitos empreendedores não investem em Big Data por medo do custo, porque acreditam que seja um valor muito alto e que, por isso, não estejam preparados para tal investimento, focam tanto nesse receio que não buscam entender como o Big Data é fundamental para o crescimento dos negócios. Com isso, infelizmente, muitas empresas ficam estagnadas e permanecem pequenas. Pensando nisso, preparamos esse artigo para esclarecer algumas dúvidas e ajudar empresas crescerem. A importância do Big Data Na era digital cada ação gera um dado. Pense em quantas ações realizamos por dia, seja ao realizar uma compra ou até ler uma notícia, que são transformadas em um grande volume. Esse grande volume é o conceito de Big Data. Os dados são tão importantes que existem empresas pagando por eles, inclusive, realizamos um Data Cast especial sobre isso, vale a pena assistir para se aprofundar. Quando os dados são transformados em informações valiosas – através de análises cuidadosas e uma boa visualização que apresente o que realmente importa de acordo com o objetivo de cada empresa – é possível criar estratégias mais exatas, com chances de riscos reduzidas, como: – Estratégias de prospecção; – Estratégias de marketing; – Aprimoramento dos produtos/serviços; Desmistificando o Big Data Investimento As pessoas têm medo do alto custo de investir em tecnologia, mas, na verdade, o alto custo é consequência de mão de obra desqualificada, já que profissionais especializados sabem muito bem como trabalhar de forma a evitar gastos desnecessários. Então, para desmistificar, trabalhar com Big Data não precisa ser caro, mas escolha com sabedoria, profissionais capacitados para cuidar e trabalhar em cima dos seus dados, de forma a evitar retrabalho, aumentar os lucros e diminuir os custos. Benefícios Entre os benefícios que o Big Data pode oferecer à sua empresa estão: – Entender o padrão de comportamento dos clientes; – Analisar os interesses do seu público; – Personalizar e oferecer experiências cada vez melhores aos clientes. Respondendo à nossa pergunta inicial: não, você não precisa ser grande para fazer Big Data. Mas, você precisa do Big Data para ser grande e crescer cada vez mais Quer entender melhor sobre como aplicar o Big Data no seu negócio. Entre em contato a gente!

  • Upgrade versão SQL Server Amazon RDS

    O #dataholic Fábio Oliveira compartilhou conhecimento sobre o ambiente SQL. Bora conferir? Neste artigo vou explicar o passo a passo e também boas práticas para atualizar uma instância SQL Server no RDS. Configurei meu ambiente com o SQL Server 2014: Primeiro, vamos verificar para qual versão posso realizar o upgrade da minha instância. Selecione-a e clique em Modify: Até o momento deste post, podemos atualizar para a versão SQL Server 2019 15.00.4073.23.v1, que traduzindo é o CU8: Verificado o target da versão que podemos atualizar, precisamos homologar como a aplicação se comportará com uma versão mais atual. Para isso, o próximo passo será criar um snapshot da nossa instância. Selecione a instância -> Action -> Take Snapshot: Na próxima tela preencha o nome do snapshot: Aguarde a finalização do mesmo: Durante o snapshot, é realizado um breve congelamento de IO das bases: Pronto, snapshot completo: Na próxima tela, especifique a versão e o nome da sua nova instância: Apenas para fins desse post, coloque o acesso como público: Escolha o tamanho da sua VM e seus discos: Por último, também não mexerei nas últimas opções, Clique em Restore DB Instance: Aguarde a criação: Finalizando, vamos logar via SSMS na instância e verificar a versão: Com a instância de testes UP, podemos de fato agora realizar o upgrade para testes. Para isso, selecione a instância -> Modify. Em seguida selecione a versão desejada. Vá até o final da página e clique em continue: Na próxima tela será de confirmação de upgrade: Um ponto de atenção aqui, é que se você utiliza um Parameter Group ou Option group customizado, você deve criá-lo antes, compatível com a versão que irá atualizar. Como estou utilizando o default, o RDS consegue atualizar. Escolha se irá aplicar durante uma janela de manutenção ou imediatamente. Como se trata de um upgrade de versão, downtime é esperado. Clique em Modify DB Instance. Aguarde o término do upgrade: Verificando versão da instância: Com isso, temos nossa instância atualizada e disponível para homologar a aplicação com tranquilidade. E também homologar novas features do SQL 2019. Não foi abordado neste post, porém poderíamos utilizar também o DMA, para verificação da base se há algum problema de incompatibilidade com a nova versão. Feito todos os testes, basta seguir estes passos no ambiente produtivo. Não se esqueça de alterar o compatibility level, no RDS só é possível via T-SQL: ALTER DATABASE UpgradeSQLServer SET COMPATIBILITY_LEVEL = 150 Fontes: Upgrading the Microsoft SQL Server DB engine – Amazon Relational Database Service Creating a DB snapshot – Amazon Relational Database Service Restoring from a DB snapshot – Amazon Relational Database Service Espero que tenha agregado à vocês. Até a próxima! Se você gostou desse conteúdo deixe seu like e compartilhe!

bottom of page