Resultados de busca
262 resultados encontrados com uma busca vazia
- Machine Learning impulsiona desempenho de vendas no e-commerce da CRMBonus
Como a Dataside, em parceria com Microsoft e OpenAI, ajudou a criar o “Vendedor IA” - o consultor virtual que vende, aprende e escala resultados. O Desafio A CRMBonus , referência em soluções de fidelização e engajamento no varejo digital, enfrentava o dilema clássico das operações de e-commerce em crescimento acelerado: como manter atendimento rápido, personalizado e eficiente em larga escala . Durante picos de campanhas, o suporte humano não conseguia acompanhar o volume de mensagens, resultando em: Respostas lentas e inconsistentes ; Baixo nível de personalização nas interações; Perda de oportunidades por falhas na identificação da intenção de compra; Dificuldade em extrair inteligência das conversas com clientes ; Desafios de escalabilidade sem comprometer a qualidade da experiência. Era urgente uma solução que unisse automação inteligente, empatia na linguagem e conversão mensurável. A solução Em parceria com a Microsoft e OpenAI , a Dataside desenvolveu o Vendedor IA , uma solução de Machine Learning e IA Generativa que atua diretamente no WhatsApp , como um consultor virtual de vendas . O sistema utiliza processamento de linguagem natural (NLP) para compreender a intenção do cliente e responder com fluidez, gerando recomendações personalizadas e interações humanas em escala. Principais funcionalidades: Atendimento inteligente e 24/7 via WhatsApp; Detecção de intenção de compra e sugestão automática de produtos; Mensagens proativas sobre pontos a vencer, promoções e carrinhos abandonados; Integração direta com o e-commerce , simplificando o fechamento da compra; Capacidade de aprendizado contínuo , aprimorando respostas com base no histórico de interações. Tecnologias Utilizadas Azure OpenAI — IA generativa e NLP em escala corporativa Microsoft Azure — infraestrutura segura e escalável Machine Learning Framework Dataside — motor de análise e recomendação inteligente Integração WhatsApp Business API — automação conversacional e omnicanal Resultados Alcançados Ganhos Quantitativos: Redução drástica no tempo de resposta , com atendimento instantâneo 24 horas por dia. Aumento expressivo nas taxas de conversão , impulsionado por recomendações mais assertivas. Ganhos Qualitativos: Atendimento escalável e humanizado , mesmo em picos de campanhas. Hiperpersonalização baseada em comportamento real , elevando a satisfação e a fidelização. Maior previsibilidade de vendas , com aprendizado constante sobre o perfil e a jornada de compra. Geração de insights estratégicos , transformando conversas em dados acionáveis para o negócio. Impacto no Negócio O Vendedor IA transformou o modelo de relacionamento da CRMBonus com seus clientes. A operação de vendas se tornou autônoma, inteligente e orientada por dados , permitindo que o time humano se concentrasse em ações estratégicas e de alto valor . Além de aumentar o ROI das campanhas, a solução ampliou a capacidade de atendimento sem necessidade de expansão proporcional da equipe, gerando eficiência operacional e ganho financeiro direto . Impacto Estratégico A parceria entre CRMBonus, Dataside, Microsoft e OpenAI marcou o início de uma nova era no e-commerce: a era das vendas com inteligência aumentada . Mais do que responder, o Vendedor IA entende, aprende e recomenda , redefinindo a experiência do consumidor digital e transformando dados em crescimento sustentável e mensurável.
- OpenAI ultrapassa 1 milhão de clientes e redefine o uso corporativo do ChatGPT
No mês de novembro, a OpenAI divulgou um marco histórico. A empresa ultrapassou a marca de 1 milhão de clientes corporativos , consolidando-se como uma das plataformas de IA que mais cresce no mundo. Gostaria de implementar soluções em IA para a sua empresa? Fale coma Dataside! Com soluções como o ChatGPT Enterprise e o OpenAI ChatGPT for Work , a empresa vem impulsionando a transformação digital de grandes organizações. De acordo com a companhia, mais de 800 milhões de pessoas utilizam o ChatGPT semanalmente . O impacto é direto na eficiência, produtividade e tomada de decisão estratégica. Quer saber mais sobre esse marco? Olha só o que vamos falar nesse artigo: ChatGPT Enterprise: IA a serviço dos negócios Novas soluções OpenAI para o ambiente corporativo Como a Dataside pode ajudar sua empresa a implementar IA? Mas antes, você deseja implementar IA e outras soluções escalonáveis e tecnológicas para a sua empresa, mas não sabe por onde começar? A Dataside é uma consultoria especializada em dados, inteligência artificial e negócios, que apoia empresas em sua Jornada de Dados com foco em confiabilidade, agilidade e decisões mais estratégicas. Fale com um dos nossos representantes agora mesmo e mude hoje a jornada da sua empresa! ChatGPT Enterprise: IA a serviço dos negócios O ChatGPT Enterprise cresceu nove vezes em apenas um ano. Essa versão foi desenvolvida para o ambiente corporativo, oferecendo segurança de dados , integração personalizada e acesso ilimitado à API da OpenAI. Além disso, o ChatGPT for Work atingiu 7 milhões de licenças ativas, ajudando times a automatizar tarefas e acelerar fluxos de comunicação internos. Veja abaixo quais são os principais benefícios do ChatGPT Enterprise: Benefício Descrição Segurança de nível empresarial Proteção avançada de dados e controle de acesso. Customização Modelos ajustados à base de conhecimento da empresa. Escalabilidade Uso em larga escala para equipes de todos os tamanhos. Ganhos de produtividade Redução de tarefas manuais e maior foco estratégico. Novas soluções da OpenAI para o ambiente corporativo A OpenAI também anunciou novos produtos voltados à automação e integração de dados. Entre eles: Company Knowledge: permite que o ChatGPT acesse e raciocine sobre dados corporativos armazenados em plataformas como Slack, SharePoint e Google Drive. AgentKit : facilita a criação e implantação de agentes autônomos , já adotados por empresas como a Carlyle Group. Sora 2 e Realtime APIs : ampliam o uso multimodal de IA com voz, vídeo e geração de imagens em tempo real. A OpenAI mostra que o sucesso da IA corporativa depende de estrutura, estratégia e dados confiáveis. Sem uma base sólida, mesmo os melhores modelos não entregam resultados sustentáveis. Reprodução / Divulgação: OpenAI Como a Dataside pode ajudar a sua empresa a implementar IA? A Dataside é especialista em IA corporativa , ajudando empresas a estruturar dados, integrar modelos e acelerar a adoção de IA com foco em resultados reais. Seja para implantar soluções como o ChatGPT Enterprise ou criar modelos proprietários, a Dataside transforma o potencial da IA em performance de negócio com segurança, governança e estratégia. Fale com nossos especialistas e descubra como levar a IA da sua empresa para o próximo nível.
- Por que a qualidade dos dados é o maior desafio das empresas modernas
Na era da Inteligência Artificial e da automação, os dados se tornaram o ativo mais valioso das empresas. Porém, quantidade não é sinônimo de valor. Quer saber como está a qualidade dos seus dados? Fale com a Dataside agora mesmo! O verdadeiro diferencial competitivo está na qualidade dos dados ou, em inglês, data quality. De acordo com pesquisa da IDC em parceria com a Iron Mountain, 24% das empresas brasileiras apontam a qualidade dos dados como um dos três principais desafios para avançar na jornada de Inteligência Artificial. Quer saber mais sobre esse assunto? Veja o que vamos explorar nesse conteúdo: O que é qualidade de dados? Qual a importância da qualidade de dados? Como medir a qualidade de dados? Como melhorar a qualidade de dados? Implementar governança de dados Automatizar a limpeza e integração Adotar o conceito de Single Sourse of Truth (SSOT) Treinar times e mudar o mindset A relação entre data quality e Inteligência Artificial Como a Dataside pode auxiliar sua empresa na qualidade de dados Mas antes, você deseja implementar IA e outras soluções escalonáveis e tecnológicas para a sua empresa, mas não sabe por onde começar? A Dataside é uma consultoria especializada em dados, inteligência artificial e negócios, que apoia empresas em sua Jornada de Dados com foco em confiabilidade, agilidade e decisões mais estratégicas. Fale com um dos nossos representantes agora mesmo e mude hoje a jornada da sua empresa! O que é qualidade de dados? A qualidade de dados é o grau em que as informações são precisas, completas, consistentes e atualizadas o suficiente para sustentar decisões estratégicas. Em outras palavras, não adianta ter um grande volume de informações se elas são duplicadas, incorretas ou desatualizadas. Uma base de dados de qualidade é aquela que permite às empresas confiar nos números que embasam análises, previsões e ações, especialmente em processos de IA, Analytics e automação. Qual é a importância da qualidade de dados? Sem uma boa qualidade de dados nas empresas, a transformação digital se torna frágil e ineficiente. A pesquisa do IT Forum mostra que o crescimento acelerado de dados e a migração para a nuvem aumentaram a complexidade dos sistemas corporativos. A falta de integração e o excesso de bases desconectadas dificultam a criação de uma “fonte única da verdade”, conceito conhecido como Single Source of Truth (SSOT). Segundo a Ideagen, 82% dos colaboradores afirmam que a má gestão de informações reduz sua produtividade e compromete a eficiência operacional. Qual o impacto dos dados de baixa qualidade? Quando os dados são imprecisos, as empresas correm o risco de tomar decisões equivocadas, comprometendo estratégias e resultados. Além disso, informações inconsistentes geram retrabalho e perda de produtividade, já que as equipes precisam revisar e corrigir erros com frequência. A falta de qualidade também pode causar falhas em modelos de IA e análises preditivas, levando a interpretações incorretas e insights pouco confiáveis. Por fim, há o risco de não conformidade regulatória e dano reputacional, especialmente em setores que dependem de dados sensíveis e precisão nas informações. Como medir a qualidade de dados? Medir data quality exige avaliar métricas específicas que indicam o nível de confiabilidade das informações. Abaixo, uma tabela com os principais indicadores utilizados: Indicador O que mede Exemplo prático Precisão Se o dado reflete a realidade. Um endereço incorreto em um cadastro de cliente. Completude Se todos os campos relevantes estão preenchidos. Dados de clientes sem e-mail ou telefone. Consistência Se as informações se mantêm iguais entre diferentes sistemas. CPF duplicado em sistemas distintos. Atualização Se os dados estão recentes e válidos. Estoques ou preços não atualizados. Integridade Se os dados estão estruturados corretamente e sem perdas. Dados corrompidos após migração de sistemas. Esses indicadores ajudam a criar uma cultura de data quality contínua, com auditorias e automações que mantêm os dados úteis e acionáveis. Como melhorar a qualidade de dados? Garantir qualidade de dados nas empresas é um processo contínuo, que envolve tecnologia, governança e cultura organizacional. Entre as principais práticas estão: 1. Implementar governança de dados Definir papéis, políticas e processos claros sobre quem coleta, valida e utiliza as informações. 2. Automatizar a limpeza e integração Ferramentas de IA e machine learning podem identificar duplicidades, corrigir erros e unificar dados de diferentes fontes. 3. Adotar o conceito de Single Source of Truth (SSOT) Centralizar todas as informações em uma única base confiável, reduzindo inconsistências e facilitando o acesso. 4. Treinar times e mudar o mindset A qualidade dos dados é responsabilidade de toda a empresa — não apenas do setor de TI. A relação entre data quality e Inteligência Artificial A IA só é tão boa quanto os dados que a alimentam. Modelos preditivos, chatbots, automações e análises avançadas dependem de dados limpos, precisos e bem categorizados. Quando a qualidade de dados é baixa, os algoritmos aprendem padrões incorretos e produzem insights distorcidos. Ou seja, sem bons dados, não há boa IA e a vantagem competitiva desaparece. Como a Dataside pode ajudar sua empresa a melhorar a qualidade dos dados Na Dataside, acreditamos que decisões inteligentes começam com dados confiáveis. É por isso que nossas soluções combinam Analytics, Inteligência Artificial e governança de dados para apoiar empresas em todas as etapas da sua jornada de dados. Ajudamos nossos clientes a avaliar e melhorar a qualidade das informações em todos os sistemas, criando arquiteturas integradas que conectam nuvens públicas, privadas e híbridas. Também implementamos frameworks de governança e compliance de ponta, garantindo segurança, rastreabilidade e conformidade com as principais regulamentações do mercado. Além disso, automatizamos processos de validação, limpeza e catalogação de dados, permitindo que as equipes foquem no que realmente importa: transformar informações em insights estratégicos e acionáveis. Quer entender como transformar seus dados em vantagem competitiva? Fale com os especialistas da Dataside e leve a sua empresa ao próximo nível de inteligência e eficiência.
- A Importância de uma Cultura Data-Driven nas Organizações
Descubra como implementar uma cultura data-driven em sua organização e impulsionar a inovação e a eficiência operacional através da análise de dados e governança eficiente. Adotar uma cultura data-driven nas organizações transforma a tomada de decisões, otimizando processos e melhorando os resultados com base em dados. Com o avanço da tecnologia e a crescente importância dos dados, é essencial tomar decisões assertivas e baseadas em análises precisas caso queira se manter competitivo. Neste artigo, vamos explorar os benefícios dessa abordagem e os passos essenciais para sua implementação, mostrando como o uso adequado de dados pode transformar a tomada de decisões e melhorar os resultados. O que é ser Data-Driven? Data-driven significa gestão orientada por dados, onde as decisões são baseadas em informações concretas e evidencias, em vez de confiar em suposições ou experiências passadas. Isso envolve a coleta, análise e utilização de dados para informar cada aspecto das operações da empresa. A abordagem data-driven permite personalizar produtos, estratégias de marketing e o relacionamento com o cliente, com base em insights dos dados. Vantagens da Cultura Data Driven A adoção de uma cultura baseada em dados traz diversos benefícios para as empresas. Vamos conferir alguns deles: Diminuição de Custos Segundo um estudo da Harvard Business Review , empresas que adotam uma cultura data-driven conseguem reduzir custos significativamente, com cerca de 48,4% das empresas entrevistadas relatando essa vantagem. Otimização de Processos Praticamente qualquer processo dentro de uma empresa pode ser aprimorado com uma abordagem baseada em dados. Ao medir e testar continuamente, as empresas podem identificar maneiras de aumentar a eficiência e reduzir desperdícios. Predição Com uma abordagem baseada em dados, é possível identificar padrões e prever comportamentos futuros. Isso permite que as empresas antecipem tendências e se preparem para elas, melhorando a tomada de decisão estratégica. Primeiros Passos para Implementar uma Cultura Data-Driven A implementação de uma cultura baseada em dados exige planejamento e comprometimento. Confira as etapas essenciais para que você consiga não apenas iniciar, mas ter uma cultura data-driven eficiente: Engajamento da Liderança Uma mudança para uma cultura orientada por dados deve começar com o engajamento dos líderes da organização. Eles devem ser os principais defensores dessa cultura, promovendo o seu valor e incentivando a adoção em toda a empresa. Estabelecimento de uma Visão Clara A organização deve entender quais problemas deseja resolver e como os dados podem ajudar a alcançar esses objetivos. Isso envolve estabelecer metas específicas e um plano detalhado para atingir esses objetivos. Investimento em Tecnologia Investir nas tecnologias certas garante que a organização tenha a infraestrutura necessária para suportar uma cultura data-driven. Criação de uma Estrutura de Governança de Dados Uma boa governança de dados garante que as informações utilizadas sejam precisas, confidenciais e protegidas contra acessos não autorizados. Adotar uma cultura data-driven é um passo estratégico que pode transformar a maneira como as organizações operam e tomam decisões. A tecnologia desempenha um papel crucial nesse processo, fornecendo as ferramentas e os recursos necessários para a contribuição da inovação. Ao integrar dados e inovação, você estará preparado para navegar com sucesso no mundo orientado por dados e obter uma vantagem competitiva sustentável. Conte com a Dataside Para transformar sua empresa com uma abordagem data-driven, explore os serviços e soluções da Dataside. Clique aqui para saber mais!
- Chat GPT: o que é, como funciona e como aplicá-lo ao seu negócio
Entenda o que é o Chat GPT , como começar a usá-lo, suas vantagens e alguns exemplos de aplicações possíveis dessa tecnologia. O que é Chat GPT? O Chat GPT é uma tecnologia de Inteligência Artificial Generativa capaz de gerar modelos para a criação de conteúdos como textos e imagens. Esses modelos são treinados a partir de grandes volumes de dados para aprender padrões e estruturas, que resultam em uma série de soluções para ajudar empresas com a produtividade, redução de custos e melhoria do ROI nas empresas . Podemos dizer que chegamos no futuro, no qual a Inteligência Artificial finalmente faz parte das nossas atividades, das mais básicas as mais complexas, e o Chat GPT é uma prova disso. Mas para usá-lo da melhor forma possível, é preciso saber fazer as perguntas certas e focadas de acordo com cada objetivo. No caso desse artigo, vamos abordar especialmente sobre o uso estratégico do Chat GPT para as empresas. Quero o usar o Chat GPT, por onde começar? Usar o Chat GPT vai abrir um leque de possibilidades que vão alavancar as estratégias do seu negócio, trazendo insights e oferecendo soluções valiosas e, para começar a usar essa tecnologia na sua empresa, o primeiro passo é ter uma definição clara dos objetivos e das dores a serem solucionadas . Entenda as etapas necessárias para começar a usar o Chat GPT como seu aliado: Identifique as áreas da sua empresa em que o Chat GPT pode ser aplicado, como exemplo: atendimento ao cliente, criação de conteúdo, suporte técnico, entre outras; Pesquise e escolha uma plataforma confiável que ofereça recursos adequados às suas necessidades e que se integre facilmente ao seu sistema existente; Personalize o modelo do Chat GPT com o uso de dados relevantes para sua empresa, como: perguntas frequentes, informações sobre produtos ou guias de suporte; Faça testes internamente para garantir que a ferramenta forneça respostas coerentes e precisas; Implemente a tecnologia gradualmente, integrando-a em seu website, aplicativo móvel, plataformas usadas na empresa ou canais de comunicação; Monitore e analise o desempenho do Chat GPT, estabeleça uma cultura de feedback sobre o uso da tecnologia e realize melhorias contínuas para alcançar seus objetivos específicos. Vantagens do Chat GPT Entre as principais vantagens do Chat GPT , vale o destaque para: Redução de custos operacionais; Melhoria da eficiência no atendimento aos clientes; Impacto positivo no aumento das vendas; Lucratividade. Ao observar as principais vantagens do uso do Chat GPT em uma empresa, é possível notar um ciclo de consequências positivas. Ao reduzir os custos operacionais, é possível investir em mais estratégias, ao melhorar a eficiência no atendimento aos clientes, as vendas aumentam, ou seja, cada vantagem citada, leva ao ponto mais desejado por todos os negócios: lucratividade . A inclusão do Chat GPT nas estratégias é o que faz uma empresa estar a frente e ter vantagem competitiva no mercado. Exemplos de aplicação do Chat GPT em uma empresa Agora que conversamos sobre o que é o Chat GPT , como começar a usá-lo e suas vantagens, confira alguns exemplos de aplicações possíveis dessa tecnologia: 1. Atendimento ao cliente automatizado O Chat GPT pode ser usado para automatizar o atendimento ao cliente para responder perguntas frequentes, fornecer informações sobre produtos e serviços, e solucionar problemas comuns. Vantagens: Atendimento mais ágil, redução da carga de trabalho dos colaboradores e melhoria na satisfação do cliente. 2. Geração de conteúdo automatizada A ferramenta também é uma grande aliada na hora da escrita, o Chat GPT consegue gerar conteúdo automaticamente, como descrições de produtos, redações de e-mails, postagens em redes sociais e muito mais. Vantagens: Economia de tempo e recursos, permitindo que as equipes se concentrem em tarefas mais estratégicas. 3. Assistente virtual de vendas É possível implementar o Chat GPT como um assistente virtual de vendas, interagindo com os clientes, oferecendo recomendações personalizadas, auxiliando na seleção de produtos e fechando vendas. Vantagens: Melhoria na experiência do cliente e impulsionamento das vend as. 4. Suporte técnico automatizado Também é possível fornecer suporte técnico automatizado, auxiliando os clientes com problemas técnicos comuns, fornecendo instruções de solução de problemas e até mesmo executando diagnósticos. Vantagens: Redução do tempo de resposta e melhora a eficiência do suporte. Atenção, não faça isso sem a ajuda de um especialista! O Chat GPT é “alimentado” por muitos dados até ele aprender e gerar respostas que trazem os insigths e soluções para uma empresa. Para isso, é fundamental que os dados sejam tratados, limpos e bem estruturados. Lembre-se de que para obter excelentes respostas é preciso fazer excelentes perguntas, ou seja, alimente a ferramenta com dados realmente valiosos. Com as diversas possibilidades de aplicação e a alta disponibilidade da ferramenta, é comum considerar aplicá-la de forma independente, sem a ajuda de especialistas em Análise de Dados e em Inteligência Artificial , mas sem a pareceria com esses profissionais, não é possível aproveitar todo o potencial que essa tecnologia tem a oferecer para as estratégias de uma empresa. É fundamental que ao implementar uma tecnologia inovadora, a empresa tenha como aliada uma consultoria completa com: analistas de negócio para avaliar estrategicamente a aplicação em cada área do seu negócio, engenheiros de dados e especialistas em I.A. para transformar os dados de uma empresa em inovação. Uma consultoria completa para abranger todas as etapas de aplicação de tecnologia inteligente no seu negócio, você encontra na Dataside .
- Como Fomentar uma Cultura de Inovação na Sua Empresa
Descubra estratégias práticas para criar uma cultura de inovação na sua empresa e impulsionar o sucesso e a competitividade no mercado. Em um cenário empresarial cada vez mais dinâmico e competitivo, a inovação é fundamental para o sucesso e a sobrevivência das organizações. Empresas que adotam uma cultura de inovação conseguem se destacar no mercado, criar produtos e serviços diferenciados e se adaptar rapidamente às mudanças. Neste artigo, vamos explorar a importância de uma cultura de inovação, os elementos essenciais para sua criação e as estratégias que podem ser implementadas para promovê-la. O que é uma Cultura de Inovação e qual sua importância Uma cultura de inovação é um ambiente organizacional que incentiva a criação e implementação de novas ideias, processos e produtos. Diferentemente de uma abordagem tradicional, onde as mudanças ocorrem de forma lenta e gradual, uma cultura de inovação promove uma mentalidade de constante melhoria e evolução. Essa cultura é vital para as empresas que desejam se manter competitivas e relevantes em um mercado em constante evolução. Entre os principais benefícios, destacam-se: Fomento à Criatividade: Um ambiente que estimula a inovação permite que os funcionários pensem de forma criativa e proponham soluções inovadoras. Aumento da Competitividade: Organizações que promovem a inovação conseguem se diferenciar e oferecer produtos e serviços únicos. Melhoria da Adaptabilidade: Empresas inovadoras são mais ágeis e capazes de se adaptar rapidamente às mudanças do mercado. Atração de Talentos: Profissionais talentosos são atraídos por empresas que valorizam e promovem a inovação. Elementos Essenciais para Criar uma Cultura de Inovação Criar uma cultura de inovação dentro de uma organização não acontece da noite para o dia. É necessário implementar alguns elementos fundamentais que irão sustentar esse ambiente inovador. Estes elementos servem como pilares que sustentam a inovação e garantem que ela se torne parte integrante da cultura organizacional. 1. Liderança Visionária Líderes devem ser os principais defensores da inovação, inspirando e incentivando suas equipes a pensar de forma criativa e explorar novas possibilidades. Eles devem ser exemplos de comportamento inovador e estar dispostos a assumir riscos calculados. 2. Ambiente Colaborativo Criar espaços que promovam a colaboração entre diferentes equipes e departamentos é crucial. A troca de ideias e conhecimentos entre profissionais de diversas áreas pode gerar soluções inovadoras. Ambientes colaborativos também ajudam a quebrar silos organizacionais que muitas vezes impedem o fluxo de informações e ideias. 3. Incentivo à Criatividade Políticas que recompensam a geração de novas ideias e soluções criativas incentivam os funcionários a contribuir ativamente para a inovação da organização. Esses incentivos podem ser financeiros, mas também podem incluir reconhecimento público, oportunidades de desenvolvimento profissional ou participação em projetos de alta visibilidade. 4. Estrutura Flexível Estruturas organizacionais flexíveis permitem a experimentação e a adaptação rápida às novas ideias, facilitando a implementação de inovações. Empresas que adotam uma abordagem ágil, com equipes multidisciplinares e processos iterativos, estão mais bem equipadas para inovar. Estratégias para Promover a Inovação Para promover uma cultura de inovação, as empresas podem adotar diversas estratégias. Algumas delas incluem: Workshops de Ideação: Realizar sessões regulares de brainstorming onde todos os funcionários são encorajados a compartilhar suas ideias. Programas de Intraempreendedorismo: Incentivar os funcionários a desenvolverem seus próprios projetos dentro da empresa. Investimento em Tecnologia: Adotar novas tecnologias que facilitem a inovação, como plataformas de colaboração e ferramentas de análise de dados. Fomentar uma cultura de inovação é um passo estratégico essencial para qualquer organização que deseja se manter relevante e competitiva. Com liderança visionária, um ambiente colaborativo, incentivo à criatividade e estruturas flexíveis, as empresas podem criar um ecossistema onde a inovação floresce. A adoção de estratégias específicas para promover a inovação garante que ela não seja apenas um valor declarado, mas uma prática cotidiana que impulsiona o crescimento e o sucesso empresarial.
- Transforme suas vendas com IA: Vantagens e Como Implementar
Sabemos que a Inteligência Artificial pode ser aplicada em diversas áreas e setores, mas neste artigo, vamos focar em como ela pode ser usada para otimizar os processos de vendas online e antecipar o interesse dos consumidores, oferecendo abordagens mais personalizadas e eficientes aos clientes. De acordo com uma pesquisa realizada pela Gartner, até 2025, 30% dos líderes executivos terão equipes habilitadas por GenAI. E de acordo com uma pesquisa realizada pela PwC, a implementação da inteligência artificial movimentará mais de US$ 15 trilhões no mundo até 2030. Embora recente, ela tem se mostrado uma tecnologia emergente e gerado diversos benefícios para as vendas de uma loja e-commerce, vamos explorar alguns deles? Como aumentar as vendas com IA? A IA pode ser usada para melhorar os processos internos das empresas, analisar grandes volumes de dados e gerar diversos insights para gestão de negócio, isso permite uma tomada de decisões mais rápida e assertiva, melhorando a produtividade e a competitividade da sua empresa. Quando aplicada ao setor de vendas, a tecnologia pode trazer benefícios como: Melhoria da experiência do cliente: A IA oferece atendimento personalizado e humanizado por meio de chatbots, recomendações inteligentes e ofertas personalizadas, entre outros recursos. Isso garante interações mais rápidas e eficientes, com suporte disponível 24/7. Inovação e diferenciação: A IA permite a criação de produtos e serviços adaptados às necessidades e preferências dos clientes, diferenciando-se no mercado. Redução de custos: Automatizando tarefas repetitivas e burocráticas, ela pode reduzir o tempo e os custos associados a essas atividades, além de evitar erros humanos e liberar a equipe para trabalhos mais estratégicos. Análise preditiva: Utilizando algoritmos avançados e dados históricos, a IA prevê tendências, comportamentos e resultados, facilitando previsões precisas, identificação de oportunidades de venda e antecipação de necessidades dos clientes. Personalização de campanhas: A tecnologia possibilita a criação de campanhas de marketing e vendas altamente personalizadas e segmentadas, ajustadas às características e interesses de cada lead, aumentando taxas de conversão, engajamento e retenção de clientes. Além dos impactos no seu negócio, também é importante destacar os benefícios diretos que uma equipe de vendas pode ter com essa tecnologia. As ferramentas de Inteligência Artificial, sozinhas, não são capazes de gerar mais vendas. Embora possa parecer que elas podem substituir um vendedor, na verdade, elas permitem que ele se concentre em gerar experiências positivas para o consumidor, aumentando a satisfação e o sucesso das propostas comerciais. Captura automática de dados: A IA automatiza a captura de dados, permitindo que os vendedores concentrem seus esforços nas etapas mais críticas da jornada do cliente, garantindo precisão e consistência nas informações. Assistência digital no relacionamento com clientes: Chatbots e assistentes virtuais oferecem suporte instantâneo, resolvendo problemas rapidamente e aumentando a eficiência no atendimento. Velocidade e inteligência nas experiências de vendas: Ferramentas de IA analisam dados em tempo real, oferecendo insights e previsões que ajudam a personalizar e otimizar cada interação de vendas, permitindo que os vendedores tomem decisões mais informadas e rápidas. Agora que você já conhece as possibilidades e as vantagens que a IA pode gerar no seu negócio, entenda um pouco mais sobre o processo de implementação dessa tecnologia. Como implementar a IA nas suas vendas Implementar a IA nas vendas pode parecer desafiador, mas seguir algumas etapas simples pode tornar o processo mais gerenciável e eficaz. Primeiro Passo: Entenda Suas Necessidades e Objetivos Para obter os melhores resultados com a IA, é crucial entender as necessidades e os objetivos da sua empresa. Por que você está investindo nessa tecnologia? Uma escolha errada pode comprometer todas as outras etapas da sua estratégia. Escolha as Ferramentas Certas para Seu Negócio Compreender suas necessidades facilita a escolha das ferramentas de IA mais adequadas para o seu negócio. Se o foco é melhorar o atendimento ao cliente, considere chatbots com IA. Para personalizar a experiência de compra, CRMs com integração de IA são ideais. Monitore e Avalie os Resultados da IA Continuamente Embora a IA automatize tarefas, o monitoramento contínuo é fundamental. Defina métricas de desempenho, como taxa de conversão e satisfação do cliente, para avaliar e otimizar suas estratégias. Aprimore com Base em Feedback e Análises Por fim, você sempre precisa monitorar os resultados da implementação da inteligência artificial no seu negócio. Utilize o feedback dos clientes para identificar áreas de melhoria. Revise e ajuste os algoritmos conforme necessário para garantir relevância e eficácia contínuas. Conte com uma consultoria especializada Utilizar a Inteligência Artificial nas vendas pode trazer inúmeros benefícios, como os que pontuamos acima. No entanto, é fundamental ter planejamento e organização ao escolher as ferramentas que vão ajudar a impulsionar as vendas do seu negócio. Para garantir que os dados sejam tratados, limpos e bem estruturados, é recomendável contar com a ajuda de especialistas. Uma consultoria completa, pode transformar os dados da sua empresa em inovação, proporcionando insights e estratégias mais eficazes. Com a implementação correta da Inteligência Artificial, sua empresa pode aumentar as vendas e criar uma experiência de compra mais envolvente e personalizada para os clientes. Para saber mais sobre como a IA e o Machine Learning podem transformar suas estratégias de vendas, visite nossa página.
- Consultoria DBA: O que é e benefícios para sua empresa
Para entender o que é uma consultoria DBA e quais são seus benefícios, o primeiro passo é entender o que é um banco de dados. De forma objetiva, os bancos de dados são ambientes estruturados onde informações como nomes, documentos, pagamentos, endereços, serviços, números de telefone, entre outras informações relevantes são armazenadas, de acordo com cada contexto. Além do armazenamento, o banco de dados é o ambiente onde se gerencia essas informações de forma mais eficiente. Por se tratarem de dados sensíveis, é essencial manter a segurança do banco de dados. O que é um DBA? Um administrador de banco de dados, conhecido como DBA, é profissional responsável por manter o banco de dados de uma empresa seguro, rápido e dinâmico, com o cuidado de mantê-lo também saudável e otimizado para que o ambiente tenha a melhor performance. Com isso, a empresa que conta os serviços de um DBA, tem a base necessária para sustentar seu crescimento e para investir em projetos inovadores com o uso de inteligência artificial. Benefícios da consultoria DBA A consultoria DBA , oferece aos gestores mais tranquilidade no dia a dia, isso porque é um serviço que garante: Resolução de problemas de performance de ponta a ponta; Melhoria de segurança e alta disponibilidade; Migração e atualização de versões; Troubleshooting avançado; Melhoria contínua em arquitetura. Um dos principais benefícios de DBA Remoto, a consultoria especializada da Dataside, é a garantia do máximo desempenho da infraestrutura de dados, o que consequentemente leva à: Resolução antecipada de problemas, para evitar que impactem as operações de uma empresa; Garantia de sistemas sem interrupções e mínimo tempo de inatividade; Melhorias regulares para máxima eficiência no suporte às operações. Benefício bônus Entre os resultados dos benefícios oferecidos pela consultoria DBA Remoto está a redução de custo nas empresas, aqui no blog da Dataside tem um artigo especial sobre o tema, confira: Como reduzir custos com consultoria DBA? Conte com uma consultoria personalizada para o seu negócio Na Dataside, a partir de um alinhamento com seus objetivos de negócio, você escolhe a estratégia de monitoramento de bancos de dados que mais se adequa às suas necessidades. Conte com um time de profissionais especializados para cuidar da performance do seu banco de dados, em ambientes como SQL Server, Oracle, MySQL, MongoDB, entre outros. Vale ressaltar, que com a consultoria DBA Remoto da Dataside, os ambientes de dados do seu negócio são mantidos em segurança e disponibilidade em tempo integral: 24h por dia, 7 dias por semana e 365 dias por ano. Entre em contato com os especialistas da Dataside, e garanta um diagnóstico gratuit o.
- Estruturas internas – HOBT
Fala galera, hoje quero iniciar uma serie de posts sobre estruturas internas do SQL Server, bom pra iniciar essa serie quero falar sobre HOBT, para você que já brinca bastante com SQL Server em algum momento já deve ter visto ou escutado falar sobre esse termo, e se você ainda não conhece vai conhecer agora. HOBT (Não tem relação com ‘The Hobbit’ o filme rs) é um acrônimo para Heap or BTree que são estruturas de dados composta por paginas de dados. Quando falamos de Heap estamos falando de uma tabela sem índice Cluster, onde não temos ordenação de dados, as paginas são mapeadas pela IAM(Index Allocation Map) e são lidas na ordem de alocação. Uma tabela sem índice Cluster, mas que possui índices Não Cluster também é considerada uma tabela Heap, pois sua estrutura principal esta desornada e sem a estrutura Btree, a tabela só deixa de ser Heap após a criação de um índice Cluster(Apenas um por tabela). USE master GO IF(SELECT DB_ID(‘DB_TESTE’)) IS NOT NULL BEGIN DROP DATABASE DB_TESTE END GO CREATE DATABASE DB_TESTE GO USE DB_TESTE GO IF(SELECT OBJECT_ID(‘DADOS’)) IS NOT NULL BEGIN DROP TABLE DADOS END GO CREATE TABLE DADOS (CAMPO1 INT ,CAMPO2 INT ,CAMPO3 INT) GO INSERT INTO DADOS VALUES ((SELECT CAST(RAND() * 1000 AS INT)),(SELECT CAST(RAND() * 1000 AS INT)),(SELECT CAST(RAND() * 1000 AS INT))) GO 10000 No script acima estamos preparando um ambiente para mostrar como funciona de verdade essas duas estruturas de armazenamento, criamos então um banco de dados DB_TESTE, e uma tabela DADOS com 3 campos inteiros sem nenhum índice, ou seja ela será uma estrutura Heap, logo após inserindo 10000 linhas. Como podemos ver nossa tabela DADOS possui 28 paginas de dados, e esta sobre uma estrutura Heap, na estrutura Heap não temos ordenação dos dados. Logo se os dados são desordenados a unica maneira de acesso a uma tabela na estrutura Heap é ‘Table Scan’, onde todas as linhas são lidas para qualquer operação de acesso a dados dessa tabela, sendo uma operação muito custosa para tabelas com muita informação, porém ‘Table Scan’ geralmente é mais rápido que um Clustered Index Scan, pois ele utiliza-se da pagina IAM para escanear a tabela. Como podemos ver no Select acima, estamos fazendo um filtro no ‘campo1’ para retornar apenas os valores 289, foram retornados 2 resultados para essa consulta, porém com o auxilio do ‘SET STATISTICS IO’ conseguimos ver que ele leu as 28 paginas de dados da nossa tabela. Através do comando DBCC IND podemos ver as paginas que estão alocadas para nossa tabela DADOS, destaque para primeira pagina com ‘PageType = 10’ essa é nossa pagina IAM, ‘Index Allocation Map’ é uma pagina de 8KB que contém ponteiros para as extents (conjunto de 8 paginas 64 kb), tabelas grandes podem conter mais de uma pagina IAM, uma pagina IAM pode mapear em torno de 4GB de extents, então se sua tabela for relativamente grande ela irá conter mais de uma pagina IAM e elas serão ligadas entre si, ou seja cada IAM tem o endereço da próxima IAM e o da anterior (Lista duplamente ligada). Bom como havia comentado anteriormente na estrutura Heap o unico metodo de acesso é ‘Table Scan’ onde ele irá ler as paginas de acordo com o mapeamento da pagina IAM, acima podemos ver que as paginas de dados não contém ponteiros para a próxima pagina e nem para anterior nos campos ‘NextPage’ e ‘PrevPage’, com isso podemos dizer que na estrutura Heap não temos fragmentação de dados, pois ela sempre irá ler na ordem da pagina IAM, sem fragmentação aumenta a chance de utilização do read-ahead. Imagem retirada do BOL(Books Online), essa é uma representação de uma tabela na estrutura HEAP. Falamos um pouco da estrutura Heap que é uma tabela sem índice Cluster e sem ordenação de dados, vamos falar um pouco da estrutura BTree(Arvore Balanceada e não Arvore Binária) onde temos a ordenação dos dados dentro das paginas de dados e temos uma estrutura diferente da Heap, onde os dados são armazenados em um formato de uma arvore com 3 níveis de navegação sendo Raiz, intermediário e nível folha, as paginas do índice são ligadas entre si, ou seja uma lista duplamente ligada, assim como as paginas IAM, como no exemplo da imagem abaixo. Imagem retirada do BOL(Books Online). Bom vamos incluir um índice Cluster na nossa tabela e verificar como ela vai ficar. CREATE CLUSTERED INDEX IDX_DADOS ON DADOS(CAMPO1) GO SELECT O.NAME AS TABLE_NAME,P.INDEX_ID, I.NAME AS INDEX_NAME , AU.TYPE_DESC AS ALLOCATION_TYPE, AU.DATA_PAGES, PARTITION_NUMBER,* FROM SYS.ALLOCATION_UNITS AS AU JOIN SYS.PARTITIONS AS P ON AU.CONTAINER_ID = P.PARTITION_ID JOIN SYS.OBJECTS AS O ON P.OBJECT_ID = O.OBJECT_ID JOIN SYS.INDEXES AS I ON P.INDEX_ID = I.INDEX_ID AND I.OBJECT_ID = P.OBJECT_ID WHERE O.NAME = N’DB_TESTE’ OR O.NAME = N’DADOS’ ORDER BY O.NAME, P.INDEX_ID; GO SELECT * FROM SYS.INDEXES WHERE object_id = object_id(‘DADOS’) Agora podemos ver que o tipo da nossa tabela é ‘Clustered’, rodando novamente o Select sem nenhuma clausula de ordenação já podemos ver que nossos dados agora estão ordenados pelo ‘CAMPO1’. Rodando novamente aquela consulta com o filtro buscando apenas o valor 289 podemos ver que o numero de paginas lidas são apenas 2(Pagina do Índice e a pagina de dados nível folha). Novamente rodando o DBCC IND, destacando as duas primeiras linhas, onde a primeira é nossa pagina IAM e a segunda com ‘PageType = 2’ é a pagina do nosso índice e podemos ver que nosso índice tem apenas 2 níveis pois nossa tabela contém poucos dados. Essa pagina de índice contem informações sobre a nossa chave e qual pagina determina informação se encontra. Note também que conforme a imagem la em cima da estrutura do Clustered Index, as paginas são uma lista duplamente ligada, então nas colunas ‘NextPage’ e ‘PrevPage’ temos um ponteiro indicando qual é a próxima pagina e a anterior, podemos ver também que elas estão ordenadas, mas isso pode mudar, caso venha a fragmentar essa tabela. Com a ajuda do DBCC PAGE conseguimos investigar melhor nossa pagina de índice(303), como mencionei acima através dessa pagina conseguimos identificar onde esta determinada informação, por exemplo no nosso Select que esta la em cima, filtramos o ‘CAMPO1 = 289’, através dessa pagina de índice consigo identificar facilmente que meu registro 289 se encontra na pagina de dados 337 conforma acima, eu sei que meu registro 289 esta entre o registro 262 e o 301, portanto ele esta na pagina de dados 337, nesse nível do índice encontramos apenas as colunas que fazem parte da nossa chave, como passamos a clausula (*) no nosso Select precisaremos ler a pagina folha do índice também para recuperarmos os demais campos da tabela. Acima o DUMP da nossa pagina de índice Cluster(337), esse é nosso nível Folha aonde se encontram todas as colunas. Então podemos ver que na estrutura BTree com a ajuda das paginas intermediarias podemos encontrar facilmente uma informação especifica navegando pelos níveis superiores até chegar no nível folha onde se encontra a informação. Devemos tomar muito cuidado na escolha da chave do nosso índice, uma escolha ruim pode degradar a performance do seu ambiente. Então quando falamos de ‘Índice Cluster’ não estamos falando apenas de Índices, mas da própria tabela em si em uma estrutura BTree. Obs.: Os comandos ‘DBCC IND’ e ‘DBCC PAGE’ são comandos não documentados pela Microsoft. Bom galera essa é a primeira parte, quero fazer mais posts voltados a estrutura dos índices, a ideia aqui era mostrar a diferença entre as estruturas Heap or BTree(HOBT), não entrei em detalhes sobre as vantagens e desvantagens das suas utilizações, pois a minha ideia é fazer mais posts sobre isso, o que eu queria mostrar é a diferença entre as estruturas e dar um norte para quem quer estudar mais afundo, qualquer dúvida deixe seu comentário e espero que tenham gostado. Referencias: HEAP \ IAM https://blogs.msdn.microsoft.com/fcatae/2016/04/26/dbcc-ind/ Clustered Index Scan https://blogs.msdn.microsoft.com/fcatae/2016/05/03/dbcc-indexdefrag/ Clustered Index https://technet.microsoft.com/en-us/library/ms177443%28v=sql.105%29.aspx?f=255&MSPPError=-2147217396 HEAP https://technet.microsoft.com/en-us/library/ms188270(v=sql.105).aspx Reginaldo Silva
- SP_SHOWINDEX
Fala galera, hoje venho com uma novidade pra vocês, um script pra ajudar muito no seu dia-dia. Quer saber como estão seus indices, se estão sendo de fato utilizados, como esta a fragmentação, quer ver as colunas do INCLUDE então acho que vai gostar desse script. Sabemos das limitações da SP_HELP que não mostra os campos do INCLUDE, da SP_HELPINDEX que nos dá poucas informações, das dificuldades de ter que ficar desenvolvendo scripts para ver utilização de indices, tamanho, fragmentação, colunas no include e etc. Com intuito de facilitar nossa vida caso você não tenha nada parecido eu e meu amigo Paulo Katayama estamos disponibilizando uma procedure chamada SP_SHOWINDEX que vai te ajudar muito, mostraremos um pouco dela logo abaixo. Deixa eu falar um pouco como surgiu essa procedure, esse script que traz essas belas informações foi desenvolvido pelo meu amigo Paulo Katayama vulgo Japa rs o qual tive a grande oportunidade de trabalhar ao lado dele e aprender muito com esse fera, sempre utilizei esse script nos ambientes que administro, porém ultimamente percebi que poucas pessoas conseguiam chegar com facilidade nessas informações exibidas por esse script, daí surgiu então a ideia de compartilhar com vocês esse script de uma forma simples de utiliza-lo através de uma Store Procedure, espero que gostem. Compartilho com vocês essa Store Procedure com total consentimento do meu amigo Paulo Katayama. Como será a primeira versão da procedure contamos com a ajuda de vocês para validarem suas funcionalidades, qualquer dúvida, sugestão ou problemas que venha a ter com ela entre em contato conosco para que possamos melhora-la cada vez mais. Lembre-se utilize por sua conta e risco, não nos responsabilizamos pelo seu uso ‘rs’. Vamos lá, vamos conhecer então a SP_SHOWINDEX. Cabeçalho da procedure, informações do autor e pagina para contato. Parâmetros suportados na chamada da procedure. Descrição de cada coluna exibida. Essas informações acima você consegue acessar na procedure chamando com o parâmetro @HELP = 1. Vamos ver algumas demonstrações. A chamada da SP_SHOWINDEX acima filtrando apenas a tabela ‘OrdersBig’, essa chamada retorna apenas um ResultSet, eu dividi em 3 partes no print para ficar melhor a visualização. Podemos ver então algumas coisas legais já como quantidade de seeks, scans, lookups, updates, colunas que compõe o índice, colunas que estão no include do índice, comando para excluir o índice, comando para criar o índice, ultima vez que foi executado um seek, scan, lookup e update, se o índice é uma PK, se o índice é único e se o índice esta habilitado ou não. @INDEX_DETAILS -Podemos ver quantidade de paginas do índice, quantidade de linhas aproximada, fator de preenchimento do índice e tipo de compressão.(Atualizado 29/11/2016) @INDEX_FRAGMENTATION – Podemos ver a média de fragmentação de cada índice e a quantidade de paginas. @NOTUTILIZED – Podemos ver os indices que nunca foram utilizados, ou que foram utilizados a mais de 1 mês. @LIMITED – Uma visualização mais simples apenas com as principais colunas. @IS_DISABLED – Mostra indices desabilitados. Podemos também combinar qualquer parâmetro na chamada da procedure. Podemos chamar sem nenhum filtro, irá trazer informações de todos os indices de tabelas de usuários. @HELP – Informações sobre a procedure. Bom galera é isso, baixem ai a primeira versão e deixe seu feedback para podermos melhora-lá, espero que gostem. Dicas, sugestões, criticas são sempre bem vindas galera, alguns parâmetros estão ainda sendo avaliados e podemos mudar em breve, então se tiverem sugestões deixe ai no comentário, até a próxima. Link para Download: https://drive.google.com/file/d/0B5j2xWOxw677aEs3U2R6UDN2Z1U/view?usp=sharing Aplicado correções e alguns novos itens. Atualizado em: 06/01/2017 Reginaldo Silva
- Estruturas Internas – Allocation Units
Fala pessoal, hoje vamos continuar na serie de estruturas internas, no ultimo post falei sobre as duas formas de organização de uma tabela Heap or BTree(HOBT) , hoje vamos falar sobre as unidades de alocações(Allocation Units). No ultimo post falei que uma tabela pode estar estruturada no modelo HEAP ou Clustered Index (BTree), as unidades de alocações são utilizadas para gerenciar os dados dentro das estruturas HEAP ou BTree, as unidades de alocações dividem os dados de acordo com seu tipo em suas respectivas paginas, podendo ser dividida em três tipos de alocação: IN_ROW_DATA LOB_DATA ROW_OVERFLOW_DATA Imagem retirada do BOL(Books Online). Conforme a ilustração acima, uma tabela consiste de uma ou mais partições, cada partição pode ser organizada como uma HEAP ou Clustered Index (BTree) e os dados são divididos em 3 unidades dentro de uma HEAP ou BTree. IN_ROW_DATA – Conjunto de paginas de dados e índices, paginas com esse tipo armazenam os dados em si e informações de índices como os níveis intermediários de índices. LOB_DATA – LOB(Large Objects) Conjunto de paginas para armazenar grandes objetos, tipos de dados que utilizam essa unidade de alocação são: text, ntext, image, xml, varchar(max), nvarchar(max), varbinary(max), or CLR user-defined types (CLR UDT). ROW_OVERFLOW_DATA – Quando colunas de tamanho variáveis (varchar, nvarchar, varbinary, or sql_variant) excedem o tamanho de 8060 bytes que é o tamanho suportado para uma linha, um ponteiro de 24 bytes é criado no lugar dessa linha e essa informação é jogada para outra pagina de dados do tipo ROW_OVERFLOW_DATA. Vamos ver isso na pratica então, abaixo script para preparar o ambiente de teste. USE master GO IF(SELECT DB_ID(‘DB_TESTE’)) IS NOT NULL BEGIN DROP DATABASE DB_TESTE END GO CREATE DATABASE DB_TESTE GO USE DB_TESTE GO IF(SELECT OBJECT_ID(‘DADOS’)) IS NOT NULL BEGIN DROP TABLE DADOS END GO CREATE TABLE DADOS (CAMPO1 INT PRIMARY KEY IDENTITY,CAMPO2 VARCHAR(5000) DEFAULT(REPLICATE(‘A’,5000)),CAMPO3 VARCHAR(5000) DEFAULT(REPLICATE(‘A’,5000)),CAMPO4 VARCHAR(MAX) DEFAULT(REPLICATE(‘B’,5000))) GO INSERT INTO DADOS DEFAULT VALUES GO 5 Criamos então um banco de dados chamado DB_TESTE e uma tabela chamada DADOS que possui 4 CAMPOS, essa tabela esta na estrutura de Clustered Index(BTree), logo após fazendo Insert de 5 linhas. Na estrutura da nossa tabela podemos notar que a nossa linha irá ultrapassar o limite de 8060 bytes, CAMPO1 = 4 Bytes CAMPO2 = 5000 bytes e CAMPO3 = 5000 bytes, total = 10004 bytes, nossa coluna CAMPO4 não entra no calculo por ela ser do tipo LOB(Large Objects) ela é automaticamente direcionada para sua unidade de alocação LOB_DATA, vale lembrar que nossos campos VARCHAR(5000) são variantes ou seja se eu inserir apenas 1 carácter ele irá ocupar apenas 1 byte e não iremos ver o split de IN ROW para OVERFLOW, por isso deixei como DEFAULT o valor de 5000 caracteres. Essa imagem acima mostra as unidades de alocação da nossa tabela logo após o comando CREATE TABLE, podemos ver que as unidades de alocação já são criadas mesmo sem nenhum dado para essa tabela. Após a inserção de 5 linhas já podemos ver que nossas unidades de alocação estão populadas, assim podemos ver que as paginas são agrupadas de acordo com seu tipo. Com a ajuda do ‘DBCC IND’ podemos ver mais a fundo, detalhe para as setas em vermelho onde mostra que temos uma pagina IAM para cada tipo de alocação, formando uma cadeia de paginas IAM, elas são duplamente ligadas entre si. Podemos ver que no tipo de IN_ROW_DATA temos 7 paginas, sendo 5 paginas de dados (nível folha do índice) 1 pagina IAM e 1 pagina de índice (Nível Raiz). No ROW_OVERFLOW_DATA temos 6 paginas, sendo 5 paginas que contem os dados e 1 pagina IAM. no LOB_DATA temos também 6 paginas, 1 IAM e 5 paginas com os dados. Com a ajuda do comando ‘DBCC PAGE’ olhando dentro de uma paginas de dados podemos ver que no CAMPO3 não temos os dados e sim um ponteiro de 24 bytes que aponta para a pagina 293 como podemos ver acima no ‘RowId = (1:293:0)’, através da coluna ‘TimeStamp’ ele poderá encontrar a informação nesta pagina que esta em uma unidade de alocação ROW_OVERFLOW_DATA lá iremos encontrar os dados do CAMPO3, a mesma coisa para o CAMPO4 do tipo LOB. Realizando um Select na tabela DADOS com um Where para trazer apenas a linha com CAMPO1 = 3, podemos ver o Plano de execução onde temos um CLUSTERED INDEX SEEK, olhando o numero de leituras com a ajuda do SET STATISTICS IO, temos 2 leituras logicas e 3 leituras de LOB. O que o SQL Server esta fazendo internamente é: Lê a pagina RAIZ do Índice (pagina 301), aqui ele é direcionado para a pagina folha. Lê a pagina FOLHA do índice (pagina 305), neste momento ele descobre que não possui todas as colunas aqui, pois estão em outra unidade de alocação, até aqui 2 leituras logicas. Lê a pagina 303(ROW_OVERFLOW_DATA ), 1 leitura LOB. Lê a pagina IAM 296 (LOB_DATA) e depois a pagina 304(LOB_DATA), 2 leituras LOB, assim formando as 3 leituras LOB. Bom mas se eu não precisar de todas as colunas posso economizar Reads. Podemos ver que colocando apenas o CAMPO1 no SELECT ele realiza apenas 2 leituras logicas que é referente ao índice(paginas RAIZ e FOLHA). Se eu colocar o CAMPO1 e CAMPO3 ele me retorna as 2 leituras logicas e mais 1 leitura LOB referente ao ROW_OVERFLOW_DATA. Então se atente aos SELECTS que possuem (*), na maioria das vezes você não precisa de todas as colunas, evitando leituras desnecessárias. Esses conjuntos de alocações (Allocation Units) permitem o SQL Server manter sua organização interna e manter um tamanho fixo padrão de 8 kb para suas paginas. Bom galera é isso, hoje vimos um pouco mais sobre a estrutura de uma tabela, entendendo como ela é organizada internamente e como o SQL faz para buscar as informações navegando pela estrutura BTree, espero que tenham gostado e até a próxima; Referencias: Table and Index Organization https://technet.microsoft.com/en-us/library/ms189051(v=sql.105).aspx Reginaldo Silva
- PRINT só retorna no final da execução?
Bom dia Galera, hoje tenho uma dica rápida e vou falar sobre uma curiosidade do comando Print do SQL Server, há algum tempo atrás me surgiu uma dúvida, porém não fui pesquisar muito afundo no momento, hoje eu consegui pesquisar melhor e entender como funcionava de verdade, a dúvida era a seguinte: As vezes precisamos depurar uma Store Procedure para identificarmos um determinado problema, para isso normalmente um dos primeiros passos da investigação é saber aonde esta ocorrendo o problema, em qual momento e qual a linha, para entendermos melhor o problema e pensar em uma solução, bom para quem já esta acostumado com a utilização de algum Debugger por exemplo do Visual Studio ou até mesmo do SQL Server sabe que podemos iniciar uma depuração e colocar alguns Breakpoints em pontos estratégicos para sabermos se o fluxo esta chegando até ali ou não, ou também podemos utilizar outra alternativa muito conhecida que é a função PRINT do SQL Server, colocar PRINTs em pontos estratégicos e acompanhar a saída durante a execução da procedure, bom é nesse ponto que queria chegar, vamos simular um ambiente e fazer alguns testes. USE MASTER GO IF(SELECT DB_ID(‘DB_TESTE’)) IS NOT NULL DROP DATABASE DB_TESTE GO CREATE DATABASE DB_TESTE GO USE DB_TESTE GO IF(SELECT OBJECT_ID(‘USP_TESTE’)) IS NOT NULL DROP PROC USP_TESTE GO CREATE PROC USP_TESTE AS WAITFOR DELAY ’00:00:05′ PRINT ‘MENSAGEM DE TESTE 1 – ‘ + CONVERT(VARCHAR(20),GETDATE(),108) WAITFOR DELAY ’00:00:05’ PRINT ‘MENSAGEM DE TESTE 2 – ‘ + CONVERT(VARCHAR(20),GETDATE(),108) WAITFOR DELAY ’00:00:05’ PRINT ‘MENSAGEM DE TESTE 3 – ‘ + CONVERT(VARCHAR(20),GETDATE(),108) No Script acima criei uma Store Procedure que me retorna 3 Prints em um intervalo de 5 segundos entre eles, a minha ideia aqui é executar essa procedure e acompanhar as mensagens sendo escritas na saída do Management Studio, vamos la. O que eu quero mostrar aqui é o seguinte, minha query esta em execução a 13 segundos como mostrado no circulo em vermelho e nenhuma mensagem foi escrita ainda, aonde mostra a seta vermelha. Depois da execução finalizada aparece nossos 3 prints com o tempo total de 15 segundos conforme esperado, ou seja os Prints só aparecem quando finaliza a execução. Não é bem isso que eu queria, na verdade eu queria acompanhar as mensagens em tempo de execução para saber quais partes da procedure já foi executado. O motivo para isso é que o SQL Server armazena as mensagens dessa transação em um Buffer de mensagens até que a execução tenha finalizado ou o Buffer alcance seu limite. O tamanho desse Buffer é de 8 kb, assim quando ele atinge esse tamanho ele manda todas as mensagens para o cliente e esvazia esse Buffer para continuar armazenando. Bom quer dizer então que se cada mensagem possuir 8 kb ele irá enviar cada mensagem no momento do PRINT e conseguiremos ver elas em tempo de execução? Vamos ver isso acontecendo. ALTER PROC USP_TESTE AS WAITFOR DELAY ’00:00:05′ PRINT ‘MENSAGEM DE TESTE 1 – ‘ + CONVERT(VARCHAR(20),GETDATE(),108) + ‘ – ‘ + replicate(‘ ‘ ,8000) PRINT replicate(CAST(‘ ‘ AS CHAR(1)),100) WAITFOR DELAY ’00:00:05’ PRINT ‘MENSAGEM DE TESTE 2 – ‘ + CONVERT(VARCHAR(20),GETDATE(),108) + ‘ – ‘ + replicate(‘ ‘ ,8000) PRINT replicate(CAST(‘ ‘ AS CHAR(1)),100) WAITFOR DELAY ’00:00:05’ PRINT ‘MENSAGEM DE TESTE 3 – ‘ + CONVERT(VARCHAR(20),GETDATE(),108) + ‘ – ‘ + replicate(‘ ‘ ,8000) Alterando a procedure com o Script acima, estou utilizando a função REPLICATE para preencher a mensagem com 8000 caracteres ‘ ‘ (espaço em branco) assim enchendo o Buffer, logo após eu executo mais um Print com 100 caracteres para forçar a saída das mensagens no console e a limpeza do Buffer. Como na imagem acima olhando as 3 execuções podemos ver que agora o Print é retornado em tempo de execução, porém não é uma solução muito bonita de fazer, existe uma opção melhor para esta situação, o RAISERROR! O comando RAISERROR tem uma sintaxe um pouco mais complexa, porém ele possui uma opção que nos interessa bastante,’NOWAIT’ quando especificado junto com o RAISERROR ele retorna imediatamente as mensagens para a aplicação, então podemos utiliza-lo para nos ajudar nesse caso. ALTER PROC USP_TESTE AS DECLARE @MSG VARCHAR(1000) WAITFOR DELAY ’00:00:05′ SET @MSG = ‘MENSAGEM DE TESTE 1 – ‘ + CONVERT(VARCHAR(20),GETDATE(),108) RAISERROR (@MSG, 0, 1) WITH NOWAIT WAITFOR DELAY ’00:00:05’ SET @MSG = ‘MENSAGEM DE TESTE 2 – ‘ + CONVERT(VARCHAR(20),GETDATE(),108) RAISERROR (@MSG, 0, 1) WITH NOWAIT WAITFOR DELAY ’00:00:05’ SET @MSG = ‘MENSAGEM DE TESTE 3 – ‘ + CONVERT(VARCHAR(20),GETDATE(),108) RAISERROR (@MSG, 0, 1) WITH NOWAIT Alterando novamente a procedure agora trocando os PRINTs por RAISERROR. No primeiro parâmetro para o RAISERROR passamos a mensagem a ser enviada, no segundo parâmetro a severidade do erro (se informado uma severidade abaixo de 10 é interpretado como mensagem e não como erro), no terceiro parâmetro é o status da mensagem, bom executando novamente nossa procedure temos o resultado abaixo. Acima temos o resultado em tempo de execução sem precisar preencher com espaços em branco na nossa mensagem, isso é a mesma coisa quando você esta fazendo aquele WHILE e coloca PRINTs dentro dele, as mensagens só vão aparecer no final da execução ou quando encher os 8kb do Buffer que é utilizado para armazenar essas mensagens, você pode estar trocando também para RAISERROR. Obs: o RAISERROR irá limpar o Buffer utilizado para armazenar as mensagens, ou seja se você tiver executado algum PRINT antes, provavelmente sua mensagem ainda estará no Buffer, assim que você executar o RAISERROR todas as mensagens no Buffer serão enviadas juntas, exemplo: ALTER PROC USP_TESTE AS DECLARE @MSG VARCHAR(1000) WAITFOR DELAY ’00:00:05′ SET @MSG = ‘MENSAGEM DE TESTE 1 – ‘ + CONVERT(VARCHAR(20),GETDATE(),108) PRINT ‘TESTE 1′ RAISERROR (@MSG, 0, 1) WITH NOWAIT WAITFOR DELAY ’00:00:05’ SET @MSG = ‘MENSAGEM DE TESTE 2 – ‘ + CONVERT(VARCHAR(20),GETDATE(),108) PRINT ‘TESTE 2′ RAISERROR (@MSG, 0, 1) WITH NOWAIT WAITFOR DELAY ’00:00:05’ SET @MSG = ‘MENSAGEM DE TESTE 3 – ‘ + CONVERT(VARCHAR(20),GETDATE(),108) RAISERROR (@MSG, 0, 1) WITH NOWAIT Alterei minha procedure novamente e coloquei 2 Prints, o primeiro Print antes do RAISERROR. Veja que meu primeiro Print já retornou junto com o RAISERROR mesmo o Buffer não estando cheio, após o RAISERROR nosso Buffer de mensagens esta vazio. Bom galera a dica era essa, espero que tenham gostado, qualquer duvida deixe seu comentário, e acompanhe os novos posts. Referencias: PRINT https://msdn.microsoft.com/en-us/library/ms176047.aspx?f=255&MSPPError=-2147217396 RAISERROR https://msdn.microsoft.com/en-us/library/ms178592.aspx?f=255&MSPPError=-2147217396 PRINT VS RAISERROR http://www.jimmcleod.net/blog/index.php/2010/07/19/print-vs-raiserror/ Reginaldo Silva












