Lar Bases de dados A chave para uma análise eficaz: consultas de retorno rápido

A chave para uma análise eficaz: consultas de retorno rápido

Anonim

Por Techopedia Staff, 30 de novembro de 2016

Resumo: O anfitrião Eric Kavanagh, juntamente com o Dr. Robin Bloor, Dez Blanchfield e Bullett Manale da IDERA, discutem questões e como sua eficiência pode ter efeitos de longo alcance.

No momento, você não está logado. Faça o login ou inscreva-se para ver o vídeo.

Eric Kavanagh: Senhoras e senhores, olá e bem-vindos novamente. São quatro horas da manhã na quarta-feira, horário do leste dos EUA, e hoje em dia, isso significa que é hora das Tecnologias Quentes! Sim, de fato. Estamos falando de coisas legais hoje. Claro, eu sou seu anfitrião, Eric Kavanagh. O título do programa de hoje é "A chave para uma análise eficaz: consultas de retorno rápido". É isso mesmo pessoal, todos queremos rápido. Quem não quer rápido? Há um slide sobre o seu verdadeiramente, e o suficiente sobre mim. Entre em contato comigo no Twitter, @eric_kavanagh. Ficarei feliz em me conectar com você lá e ter uma conversa nas mídias sociais. Pode ser divertido, só não fale de política.

O ano está quente. Estamos discutindo diferentes questões analíticas este ano, e o único tópico de hoje é realmente central para a conclusão do trabalho. Lembro-me de que provavelmente há cinco ou seis anos atrás eu ouvi alguém usar a expressão "conversar com seus dados" e, mesmo que pareça um pouco brega, o ponto é que, se você não pode ter uma experiência iterativa com seus dados, se você não puder alterar rapidamente suas consultas, enviar novas consultas, obter respostas rapidamente, não terá uma conversa com seus dados e todo o processo analítico será truncado. Isso não é bom.

Quando você conversa com seus dados, isso significa que você é capaz de ir e voltar e, na minha opinião, é quando você encontra o insight. Porque muito raramente você encontrará a consulta perfeita na primeira vez. A menos que você seja o Mozart da análise - e tenho certeza de que essa pessoa está por aí -, você terá que gastar algum tempo modificando, adicionando alguma dimensão, tentando ajustar o que procura. .

Porque, novamente, esses ambientes não são tremendamente pesados ​​com os quais estamos lidando no mundo da análise; estamos lidando com ambientes muito difíceis e ambientes muito complexos e multidimensionais. E assim, a idéia do webcast hoje é falar sobre como habilitar esse tipo de interação iterativa com seus dados.

Temos três apresentadores. Obviamente, em Hot Technologies, em oposição à Briefing Room, temos dois analistas; cada um deles dá sua opinião primeiro, depois o convidado entra, faz sua apresentação e nós temos uma espécie de mesa redonda. E você, nosso público, pode ter um papel importante nisso. Por favor, não seja tímido; envie suas perguntas a qualquer momento. Use o painel de perguntas e respostas, se puder, caso contrário, o painel de bate-papo está bom; Vou tentar monitorar os dois durante o show. E gravamos isso; portanto, se você perder algo ou quiser compartilhá-lo com seus colegas, volte mais tarde. Nós os publicamos no Techopedia.com e também no InsideAnalysis.com.

E com isso, vou atrair pessoas inteligentes. Vou entregá-lo ao Dr. Robin Bloor. Deixe-me lhe dar as chaves, trocar de apresentador e pronto. Robin, leve embora.

Robin Bloor: Ok. Obrigado por essa introdução. Há cerca de um mês e meio, conversei com um desenvolvedor que é realmente um DBA. Ele não é realmente um DBA - ele era um DBA em uma empresa em particular e era a única pessoa que realmente podia fazer as consultas. Mas ele se cansou de fazer isso, porque ele é realmente um desenvolvedor bastante inteligente. Então ele foi embora.

E ele tem que fazer alguns dias por mês para eles de qualquer maneira, porque eles não conseguiram encontrar ninguém para substituí-lo e não têm idéia do que o banco de dados faz ou como ajustá-lo. E eu estava pensando sobre isso, e apenas, você sabe, eles realmente não tinham um departamento de TI, mas esse cara estava dando suporte a eles. Na verdade, era o trabalho do DBA que ele fazia a maior parte do tempo.

Para bancos de dados sofisticados - Oracle, SQL Server, DB2, todos os grandes e caros -, o ajuste do banco de dados é uma tarefa difícil. É um trabalho seguro também. E a razão, realmente, para dizer isso é que, é um cenário em mudança. Eu meio que vou passar por isso. Você sabe, bancos de dados relacionais - geralmente o cenário geral é que os bancos de dados relacionais ainda dominam em popularidade. É provável que dominem por muito tempo. Sim, agora existem outros bancos de dados com maior tempo de antena, mas, quando você realmente observa o que está acontecendo, a Oracle está fazendo a maior parte do processo, o Microsoft SQL Server é o segundo e há várias coisas acontecendo na nuvem que pode causar um desafio, no entanto. Eles são os grandes gigantes do jogo. E são os bancos de dados que você pode usar tanto para OLTP quanto para cargas de trabalho de data warehouse. As alternativas são normalmente usadas principalmente em ambientes analíticos e, normalmente, são determinadas pelos dados sobre o motivo de escolhermos isso em vez de relacional. Principalmente as pessoas não.

As empresas tendem a padronizar em um único banco de dados. Me deparei com uma empresa recentemente que tinha mais de 5.000 instâncias do Oracle. E eu meio que, a pessoa com quem eu estava falando daquela empresa, eu meio que perguntei sobre os DBAs. Eles disseram que tinham cerca de 10 DBAs e cerca de 30 bancos de dados estavam sendo tratados. E o resto, a Oracle estava sendo usada como sistema final em geral. Havia muito pouco estresse nos dados dos aplicativos que os usavam. Mas isso me surpreendeu - 5.000 instâncias do Oracle.

E, a propósito, eles tinham uma licença de propriedade da Oracle. Bem, você sabe, licença corporativa, obviamente. Mas eles também tinham outros bancos de dados porque, às vezes, você sabe, os aplicativos vêm com um banco de dados preferido. Não era como se a Oracle fosse a única coisa. E vale mencionar que nem o Hadoop nem o Spark são realmente um banco de dados, e levará muito tempo até que eles adquiram o que eu considero uma regra de banco de dados. Bom para links de dados, é claro.

Com as atividades de DBA - provavelmente Bullett pode dizer muito mais sobre isso do que eu -, mas eu as examinarei. É nisso que eu tendem a pensar, o que o DBA faz. Eles instalam, configuram, atualizam e gerenciam licenças. Eles fazem muito ETL e a replicação funciona de uma maneira ou de outra. Eles fazem planejamento de armazenamento e capacidade. Eles solucionam problemas ou fazem parte da equipe de solução de problemas. O monitoramento e o ajuste do desempenho são praticamente a maior parte de suas atividades, mas todas essas outras coisas não são pequenas, você sabe. Segurança, eles são responsáveis ​​pelo backup e recuperação. Eles devem estar envolvidos em sistemas de teste de software e podem estar envolvidos no ciclo de vida dos dados.

Atuação. Quando eu costumava ser um desses caras. Quando eu estava executando e ajustando bancos de dados, era assim que eu entendia, sabia? Existe a CPU e, de uma maneira ou de outra em nossos dias, a CPU está praticamente inativa, porque seria uma das outras duas ou th- Bem, um dos outros gargalos estaria causando o problema. Memória, thrashing e fragmentação, ou saturação de E / S de disco ou disco, às vezes sobrecarga de rede, se você estiver executando em vários nós de uma rede e realmente conseguir algum bloqueio, provavelmente.

Mas esse era o mundo como eu o via. Dei uma olhada recentemente no Oracle e no número de parâmetros de ajuste existentes no Oracle. Era mais de 300. Você sabe, e se você realmente pensa sobre isso, um DBA que realmente sabe o que está fazendo tem que ter alguma idéia de por que você iria mexer com qualquer um deles. Portanto, é um trabalho complicado, você sabe, e é mais complicado com isso.

Você sabe, agora temos CPUs, mas você tem … as CPUs já existiam, GPUs na CPU ou com FPGAs na CPU. Portanto, existe uma espécie de cruzamento do que realmente acontece em uma CPU. As CPUs tornaram-se multicore há muito tempo; na verdade, eu não estava mais ajustando bancos de dados quando isso aconteceu. Não tenho idéia de que diferença isso realmente faz, agora que penso nisso.

Temos o 3D Xpoint e o PCM da IBM surgindo como uma camada extra de memória e temos SSDs, mas eles estão substituindo a ferrugem. Mas os SSDs podem variar em velocidade. Com tantos, você pode ter acesso paralelo e isso os torna incrivelmente rápidos - perto da velocidade da RAM. E você tem todas as arquiteturas de hardware paralelas.

E isso é tudo, você sabe, os custos estão caindo, o que é uma coisa muito boa, mas tudo está dando certo - você sabe, se você pegar o próximo lançamento de um banco de dados e começar a implementá-lo em máquinas, até mesmo alguns isso, você realmente perdeu a sensação de que pode ter pela maneira como os dados se comportam, porque as latências são muito, muito diferentes. E aqui, você sabe, você tem quatro camadas, em vez de três camadas de armazenamento.

Problemas de banco de dados. Você obtém entropia de banco de dados - a proliferação de instâncias é muito comum. Bancos de dados sendo usados ​​como armários, que foi o exemplo que dei. Pouquíssimos bancos de dados são auto-ajustáveis, e aqueles que afirmam ser auto-ajustáveis ​​não são realmente bons, você sabe. Mas a outra coisa é que muito poucos bancos de dados estão ajustados adequadamente. É uma tarefa difícil, ser capaz de equilibrar as cargas de trabalho. Quero dizer, quando você pensa em um banco de dados, o que um banco de dados pode estar fazendo durante um período de 24 horas, as cargas de trabalho podem ser muito, muito diferentes. O banco de dados precisa ter um armazém de dados particularmente verdadeiro.

E, portanto, o ajuste que não é uma questão trivial, você sabe, porque o que você está fazendo é ajustar parâmetros que precisam atender a toda uma gama de cargas de trabalho em um determinado momento. É um trabalho difícil, basicamente. E o SQL precisa ser ajustado particularmente para SQL JOINs. Eles podem ser extremamente, você sabe, consumir recursos. E se o banco de dados tiver visualizações materializadas, para ser honesto, você deve investigar o uso delas, porque elas farão tudo acontecer incrivelmente mais rápido. E isso requer alguém que entenda as cargas de trabalho e entenda o tráfego SQL e assim por diante.

E a maioria das empresas emprega muito poucos DBAs - muito caros. Conheço empresas bastante grandes com, tipo, três caras, você sabe, um grande número de instâncias. Realmente, eles custam muito, é um trabalho difícil em termos de complexidade. Eles precisam de ferramentas.

E acho que é tudo o que tenho a dizer. Oh sim. Vamos passar para Dez, ver o que Dez tem a dizer.

Dez Blanchfield: Obrigado, Robin. Este é um tópico enorme. Vou manter o que considero efetivamente os desafios diários que enfrentamos. Porque, convenhamos, há uma biblioteca inteira de livros escritos sobre esse tópico. Quem não foi a uma livraria técnica e encontrou paredes e paredes de livros escritos apenas sobre o tópico geral de desempenho e ajuste e monitoramento de bancos de dados. E às vezes é uma ótima maneira de matar o tempo.

O tópico geral: obtendo consultas de desempenho. Existem várias partes da organização que se preocupam com esse tópico - no nível do usuário final, na minha experiência, você sabe, as pessoas apenas experimentam desempenho, que as coisas estão lentas. As rodas giratórias demoram um pouco para que as consultas voltem. No extremo oposto do espectro, você conta com pessoal de engenharia de infraestrutura e rede e armazenamento que está sendo espancado por especialistas em banco de dados, porque as coisas não estão funcionando tão bem quanto o esperado. E é um espectro muito amplo, na minha experiência, as coisas que podem impactar nossas vidas nesse espectro.

Se você pensar, do ponto de vista físico, você sabe, apenas o espaço do computador. Tem memória, você sabe, RAM, se quiser - espaço em disco, rede e todos os bits em torno disso. Nesse espaço, temos, você sabe, ele armazena o pensamento de que, digamos, é melhor usar o disco bruto ou um JBOD e apenas, você sabe, subir o mais rápido possível o disco e deixar o banco de dados classifique a camada de proteção de dados. Outras pessoas são grandes fãs do RAID, a matriz redundante de discos baratos e têm diferentes experiências religiosas com o RAID 0, 1, 3, às vezes 5 e 6 tipos diferentes de distribuição ou replicação no disco, caso o disco rígido falhe. Mesmo no nível de armazenamento e engenharia, ainda assim, temos pessoas que têm visões e experiências diferentes sobre desempenho, em tipos de armazenamento.

Sejam discos conectados diretamente e os próprios servidores, ou se estiver conectado através de um Fibre Channel com uma rede de área de armazenamento de alguma forma, seja montado em um servidor em algum lugar via iSCSI ou Ethernet, por exemplo. E isso é antes de você realmente chegar à camada do banco de dados, onde, você sabe, os tipos de coisas que tomamos como certo - você sabe, apenas mantendo isso, como Eric destacou, você sabe, o que chamamos de conversa com seus dados . Apenas ser capaz de identificar padrões e padrões significativos nos quais acreditamos poder começar a mergulhar e procurar problemas de desempenho.

E é um tópico muito amplo, por isso vou mergulhar em duas áreas em que, na minha experiência, tempo, energia e esforço investidos obtêm bons retornos. Então, deixe-me pular rapidamente para o primeiro deles. E, só de brincadeira, fui procurar uma foto de algo que tivesse um esqueleto por dentro e a pele por fora, mas o bloco de Lego era provavelmente o menos horrível. Mas, de várias maneiras, é assim que eu meio que imagino e imagino mentalmente o desafio que enfrentamos às vezes com plataformas de análise e bancos de dados. E é isso que, na verdade, você apenas, como consumidor e usuário final ou mesmo desenvolvedor, vê frequentemente a camada de capa de verniz, mas na verdade é o esqueleto que está por baixo - é realmente o problema em que você precisa se concentrar.

Você sabe, nesse caso, quando pensamos sobre as coisas que podem impactar o desempenho e as análises do banco de dados resultantes daquele dia em particular, o desempenho atinge, a infraestrutura principal e apenas monitora essa infraestrutura principal, e como descrevi há pouco, seu disco, memória e CPU. E, como destacou o Dr. Robin Bloor, os desafios agora em virtualização e as coisas que estão acontecendo nos próprios chips, o desempenho até o nível principal e a quantidade de memória que está sendo colocada em cada chip em cada núcleo. Esses são desafios muito técnicos para se procurar uma pessoa comum.

Manter o controle de consultas. Você sabe, um dos desafios do monitoramento de consultas e filas de consultas é, por exemplo - o SQL como linguagem e as ferramentas de banco de dados que acompanham as ferramentas de análise, são muito poderosas e, em particular, SQL como linguagem. Mas com esse poder e simplicidade também ocorre, em muitos casos, e isso é, se não for um aplicativo que faz a mesma coisa repetidamente, escrito por um bom desenvolvedor e identificado por um bom DBA, talvez Ser pessoas fazendo consultas não estruturadas.

E o problema é que é muito fácil aprender um pouco de SQL e começar a fazer consultas, mas como resultado disso, você não tem necessariamente todas as habilidades, experiência e conhecimento para saber se está fazendo um coisa boa ou ruim para fazer o banco de dados. Tão continuamente executando o mesmo grande, amplo, errado pode apenas derrubar o edifício. Manter o controle de consultas é um desafio interessante.

Apenas monitore os tempos de resposta até o que a plataforma está fazendo e o que os usuários estão recebendo. Novamente, você sabe, sem as ferramentas corretas, isso não é algo que você apenas intuitivamente olha para a coisa e pensa: "Ah, a rede está ficando lenta" ou "A memória do usuário não está funcionando bem" ou "Os índices estão tendo um desempenho ruim" "Ou" estão inchados. "

E então, como você chega ao ponto em que, depois de perceber um problema, como separá-lo e desmembrá-lo e enfrentar todo o desafio de consultas mal estruturadas? E, você sabe, é uma consulta ad hoc que alguém está executando manualmente, ou é uma ferramenta de análise com um front-end de painel com desempenho ruim porque está fazendo as perguntas da maneira errada ou é realmente, pedaço de código realmente mal escrito?

E, em seguida, fazendo isso de forma iterativa, Eric disse inicialmente na configuração, você sabe, apenas repetidamente repetidamente e ajustando esses fluxos de trabalho. Você sabe, quais fluxos de trabalho eu estou executando, como eles estão executando, com que frequência eles estão executando, que código está sendo executado contra eles, onde eles estão sendo executados na CPU e na memória, no disco e na rede? Sim, isso é apenas um desafio muito, muito técnico.

E então o nirvana que as pessoas estão procurando neste mundo, ao passar das análises históricas e do ajuste de desempenho e alertar contra o seu ambiente, o que é ótimo de ver, porque você poderá obter um plano no futuro se souber por que as coisas foram lentas ontem de manhã às nove horas. Mas isso não ajuda você no momento e não ajuda seu plano a seguir em frente.

Eu acho que o planejamento de capacidade, o dimensionamento, o dimensionamento e o ajuste, assim, você sabe, acho que há uma tendência que estamos vendo agora, em que há uma mudança em ambientes muito grandes, onde as pessoas têm grandes plataformas de banco de dados e espalham ambientes de banco de dados amplamente do alerta e planejamento histórico ao alerta e planejamento preditivos, onde eles querem saber o que está acontecendo no momento e poder planejar o futuro. Ou estamos ficando sem memória e vamos ficar sem memória na próxima hora, e o que podemos fazer sobre isso? Que planejamento de capacidade podemos fazer em tempo real?

Desculpe. Chega ao ponto em que, você sabe, apenas todo o desafio de descobrir esses obstáculos atrapalha essencialmente o que chamamos de análise de fluidos, tornando essa a norma em sua organização. Como você pode ver, é um desafio não trivial para, você sabe, apenas as grandes massas do dia a dia, não lavadas. E ainda é um desafio não trivial para os mais experientes em termos técnicos.

Você sabe, se é difícil para meros mortais, como podemos tornar isso possível? Porque, você sabe, a maioria delas é algo que os usuários comuns não conseguem resolver, e podemos ter alguns engenheiros de banco de dados especiais, desenvolvedores de banco de dados, desenvolvedores de código, programadores, mas eles ainda precisam realmente desmembrar o ambiente. Eles precisam resolver problemas como pessoas reutilizando código.

Você sabe, uma das piores coisas que eu já vi neste espaço em torno de resultados de desempenho em plataformas de análise em implantações muito grandes de infraestrutura de servidor de banco de dados são pessoas que usam um pedaço de código, um pedaço de SQL ou um procedimento roubado que eles não fizeram ' escrever, e eles não sabem se é um pedaço de código bom ou ruim, e apenas o reutilizam porque isso lhes dá o resultado que eles desejam. Mas acontece que pode ter sido apenas algo que foi escrito rapidamente para obter um ou dois resultados, como um relatório - alguém estava com pressa.

E assim as pessoas estão usando código complexo que não escreveram e apenas o inserem em um pedaço de desenvolvimento de aplicativo, sem saber que estão realmente punindo o back-end. Mesmo monitorando apenas o desempenho atingido e observando de onde as consultas vêm e se aprofundam, esse é um desafio diário que eu vejo.

Coisas comportamentais básicas, como pré-teste de dados para desempenho, sempre que possível. O que você experimenta apenas ensina, como excluir índices se você for fazer importações em massa e, em seguida, indexar novamente, para que os índices não sejam mantidos quando você estiver obtendo terabytes de dados. Você sabe, sem as ferramentas apropriadas, isso é quase impossível de ver, porque você não sabe que o índice está sendo martelado.

A otimização de índices regularmente é uma espécie de 101, mas e quando você importa em massa ou cria uma tabela de consultas, se alguém faz uma consulta realmente grande? Você sabe, isso pode ser um enorme impacto no desempenho e, novamente, se você não está monitorando, não tem as ferramentas para ver isso, isso acontece apenas em segundo plano e você não sabe como lidar com isso. .

Limitar as consultas apenas ao número de colunas que você precisa - quer dizer, parece realmente básico, mas, novamente, se você não pode vê-lo, não sabe o que está acontecendo, e então acontece apenas em segundo plano e machuca você para você.

Saber quando e onde usar tabelas temporárias, agrupar grandes exclusões e atualizações. Mais uma vez, todas as coisas muito simples, mas sem essa visibilidade, sem as ferramentas para isso, elas permanecem em segundo plano e continuam prejudicando você e você continua jogando mais memória ou CPU em um ambiente de banco de dados para obter melhor desempenho da plataforma de análise, quando na verdade, você deve ser capaz de detalhar os detalhes do que está machucando você e abordar essa coisa em particular. E então, você sabe, coisas como restrições de chave estrangeira e como você acha isso, como você sabe que isso é um problema?

Isso me leva à conclusão do meu ponto principal aqui, e é que, no dia a dia, vemos esses problemas em todo o lugar. E à medida que os ambientes de banco de dados se tornam cada vez maiores e cada vez mais amplos, e como o Dr. Robin Bloor destacou aqui, obtemos modelos ambientais cada vez mais complexos com o tempo dos bancos de dados.

E também a necessidade de integrar algumas das plataformas de big data, como o Hadoop e o Spark, que estão chegando, e cada vez mais. Cabe a nós, a meu ver, encontrar melhores maneiras e ferramentas específicas para executar esse desempenho da plataforma em tempo real e análises e diagnósticos de maneira inteligente. Porque custa tempo real, dinheiro real e frustração para usuários finais e dólares reais, se não começarmos a usar as ferramentas para mergulhar nessas coisas.

E com isso, vou entregar a nossos amigos da IDERA, porque acredito que eles têm uma boa história para contar sobre como podemos resolver esse problema.

Bullett Manale: Parece bom. Muito obrigado, e eu vou em frente e dar o pontapé inicial. Eu tenho alguns slides aqui também, e deixe-me ir em frente e meio que trazer isso à tona. Alguns deles vamos abordar rapidamente.

Só para lhe dar uma ideia, sou o diretor de engenharia de vendas da IDERA, e o que fazemos é conversar regularmente com os DBAs sobre as dores e os desafios que eles enfrentam, específicos em muitos casos., monitoramento de desempenho e esse tipo de coisa, obviamente. E ouvimos muito desse público e, portanto, acho que posso compartilhar algumas das informações que recebo deles regularmente, que farão sentido. Vou pular algumas delas, porque não acho que elas sejam realmente relevantes para a conversa.

Você sabe, eu tenho minha própria lista aqui das responsabilidades do DBA - parece muito com a lista de Robin e acho que é bastante consistente. Eu acho que quando você conversa com um administrador de banco de dados, é sempre - você sabe, eles estão agrupados em algumas dessas áreas mais do que em outras e não há rima ou razão para isso, depende apenas do ambiente.

Você ouve uma gama muito mais ampla e ampla de coisas que as pessoas querem poder fazer. E muitas vezes, as pessoas que querem essas coisas não - elas pedem por elas e, em alguns casos, você começa a se aprofundar no que realmente está pedindo, e então descobre que elas ' está realmente procurando por mais. Eles realmente querem mais informações do que inicialmente pensam que precisam e, quando você começa a se aprofundar na ferramenta, acho que é aí que você pode começar a dizer que eles estão conversando com os dados.

E acho que essa é uma frase realmente interessante, e faz muito sentido em termos de poder dizer, sim, bem, se você tem uma consulta ruim, o que é realmente uma consulta ruim? É uma consulta que está consumindo muitas leituras, gravações ou CPU? Pode ser um que corre muito, pode ser, você sabe, que, como você disse, está mal escrito.

Em termos de como identificamos isso, há várias maneiras que você verá em termos de nosso produto, o produto Diagnostic Manager, que mostramos aos DBAs que eles podem fazer isso. E é realmente flexível, e acho que essa é uma das grandes coisas - você precisa ter uma ferramenta que o ajude com esses problemas de desempenho, pois o ambiente de todos é um pouco diferente.

E haverá muitas necessidades e talvez até requisitos obscuros em termos de monitoramento, então você precisa ter algo que seja flexível e que funcione e capaz de se adaptar ao ambiente que você está tentando gerenciar. Você sabe, e eu tenho muitos desses exemplos - eu não vou analisar cada um deles, mas você precisa de algo que possa alternar entre um dado e outro, e eu meio que fale sobre isso quando entrarmos um pouco no produto e mostrarmos isso, e em termos de como o fazemos.

Mas a outra coisa que eu acho que em termos de qualquer boa ferramenta de análise é que existem algumas coisas essenciais que você realmente está procurando. Obviamente, em primeiro lugar, você não quer uma ferramenta que cause seus próprios problemas de desempenho em nome do desempenho. Quando digo coletar os dados sem nenhum custo, não estou falando sobre o custo em termos de custo monetário, mas em termos do custo em termos de despesas gerais e do custo em termos da quantidade de recursos que vamos usar em nome da performance. Você definitivamente quer algo lá que vai ajudar.

Você precisa de algo que possa obter os dados que você procura, específicos para os problemas que enfrenta no seu dia-a-dia, e pode haver algumas coisas que você não precisa e que não precisa ' você não quer, e não faz sentido coletar esses dados se você nunca for reportar sobre eles ou precisar de tentar gerenciá-los. Em termos de metadados associados ao desempenho, por exemplo.

Você sabe, um bom exemplo é que não preciso ser alertado se o serviço Coordenador de Transações Distribuídas no SQL estiver inativo se não desejar que ele esteja em execução em primeiro lugar. Portanto, não me avise, não colete dados - não preciso dessa informação. Portanto, ter a capacidade de ativar e desativar essas coisas é realmente importante.

A capacidade também de, depois de coletar os dados, ter acesso a eles rapidamente - você não precisa executar e massagear os dados, manipular os dados - ser capaz de fazê-los de maneira rápida e eficiente. E depois que você tiver os dados, obviamente é realmente importante poder entendê-los.

Agora, é aqui que, com o nosso - com, como, por exemplo, o produto Diagnostic Manager, vou mostrar um pouco hoje - esse produto, você gostaria de dizer que esse produto vai substitua e seja um DBA em uma caixa. A realidade é que requer algum conhecimento sobre o que é seu ambiente e o que você está tentando realizar. Obviamente, ter alguma compreensão do papel do DBA é importante.

Agora, o que tentamos fazer é educar através da ajuda e de outros métodos. Mas você sempre desejará vincular isso, obviamente, a algum tipo de nível de experiência ou a alguém que tenha algum conhecimento sobre o que fazer depois de receber os dados. E ser capaz de ter uma pessoa que possa fazer as perguntas certas para um produto e ter essa conversa com os dados é obviamente essencial. E, obviamente, ser capaz de entender os dados.

Uma vez que eu tenho as informações, posso divulgar isso para as pessoas certas. Meus desenvolvedores, minha equipe de operações - quem quer que seja, talvez eu precise me integrar a outros produtos, tendo os ganchos para poder fazer isso. Todas essas são coisas realmente importantes. E então, obviamente, por último mas não menos importante, se eu precisar saber mais, ser capaz de fazer isso. Se isso significa ativar um pouco mais para ser coletado, ou se significa apenas aprofundar um pouco mais os dados. Você espera que, com uma ferramenta que possa ajudar você a obter desempenho, obtenha todas as coisas necessárias para poder responder a essas perguntas.

A única coisa que eu não coloquei aqui e acho que provavelmente vale a pena notar é que você precisa de uma ferramenta que o ajude a diferenciar o que é normal e o que não é normal. E eu acho que é um grande problema, porque, você sabe, existem muitos produtos e coisas de alerta por aí, mas se você está recebendo um alerta e o alerta é um alerta falso, isso não é bom para você ; é mais uma perda de tempo e reduzirá mais sua eficiência do que os ajudará. Então, você sabe, essas são algumas coisas que eu teria em mente.

Quando falo sobre o produto em que estou ligando todas essas coisas ao conjunto de produtos IDERA, acho que é o produto Diagnostic Manager que provavelmente tem o principal tipo de características do que estamos falando aqui em termos de banco de dados. ajuste e desempenho e monitoramento e esses tipos de coisas.

As pessoas estão procurando por monitoramento em nível empresarial; eles querem ter acesso, saber, em uma tela, que as coisas estão funcionando como deveriam. Ou eles querem, obviamente, se houver um problema, ver onde está o problema e, em seguida, ser capaz de se aprofundar nele. Grande parte, eu acho, do que as pessoas estão procurando com esses tipos de maneiras pelas quais você pode realmente aprimorar seu desempenho.

A outra coisa que obviamente acompanha isso é que não posso apenas operar no presente e preciso poder voltar por períodos de tempo, se isso significa olhar para consultas que foram mal ou se significa, você saber, observando como a própria VM host estava se comportando em termos de recursos. Todos esses tipos de coisas que você precisa ser capaz de fazer e não ficarão sentados olhando para o console 24 horas por dia, 7 dias por semana.

Se você estiver de férias ou no meio da noite, ou o que quer que seja, você precisa de algo que possa voltar no tempo com você para poder dizer o que estava acontecendo na instância em o tempo que tivemos um problema. E poder fazer isso, mais uma vez, com eficiência e rapidez e ser capaz de se aprofundar nele é definitivamente uma peça importante em termos dessa discussão. E eu diria que é provavelmente uma das coisas mais importantes em termos do que as pessoas estão procurando. Eles estão sempre procurando aquela janela para o passado, porque isso é realmente um im… Você sabe, você não quer ter que ficar sentado lá e esperar que algo aconteça novamente.

A próxima coisa na lista é realmente apenas voltar ao que estávamos falando anteriormente, com o próprio desempenho da consulta. E vou mostrar alguns exemplos diferentes no produto Diagnostic Manager, como fazemos isso, o que, certamente, no final do dia, fornecerá muitas opções para as próprias consultas em termos do que você quer reunir.

Em termos de saber se você está interessado em consultas que estão causando problemas de recursos, consumo de CPU ou consumo de E / S. Quer sejam consultas que demoram muito tempo para serem concluídas ou consultas que, em geral, podem não ser as piores ofensas em termos de desempenho, mas podem ser executadas com tanta frequência que a própria frequência de execução em si pode ser um problema. E, obviamente, ser capaz de identificar tendências ao longo do tempo com essas consultas também é uma parte importante disso.

Existem várias maneiras diferentes de fazer isso dentro deste produto, e acho que obviamente essa é uma peça realmente importante para a maioria dos DBAs. E mesmo que você não tenha seus próprios aplicativos desenvolvidos internamente, ainda é bom poder consultar seus fornecedores de software e dizer: “Ei, você sabe o que? Você sabe, duas horas da tarde todos os dias quando esse trabalho decola ", ou seja o que for, " é a sua aplicação que está causando isso, e precisávamos consertá-la ". Portanto, mesmo se você não tiver concluído controle sobre o código em si, ainda é bom saber quando os problemas estão acontecendo.

E então, você sabe, a outra parte é obviamente mais proativa. Ser capaz de ser o primeiro a saber, entender quando um problema está ocorrendo. Não apenas ser o primeiro a saber para que você possa corrigi-lo, mas em muitos casos, quando precisar, é algo que será capaz de automatizar uma resposta, em muitos casos também. Você pode, digamos, você sabe, em vez de receber um e-mail dizendo: "Ei, você precisa consertar isso", se eu estiver em uma reunião ou se estiver na estrada ou seja lá o que for. estou fazendo, obviamente, é muito bom poder dizer que tenho algo em funcionamento que será capaz de resolver isso de maneira automatizada.

E se não for abordado de maneira automatizada, pelo menos seja o primeiro a saber, para que você possa tomar uma ação corretiva ou entrar em contato com alguém que possa. E, portanto, essas são obviamente grandes peças importantes para, você sabe, esses tipos de problemas com os quais você pode se deparar em termos de monitoramento de suas máquinas, instâncias e análises em si.

Agora, eu falei sobre isso antes, que é a flexibilidade das coisas. Eu não posso enfatizar isso o suficiente, sendo capaz de dizer, pronto, se houver algo que não está sendo monitorado, ser capaz de ter a funcionalidade dentro de um produto para poder adicionar essas coisas a ser monitorado. E, no sentido do exemplo do Gerenciador de diagnóstico, obviamente temos contadores WMI, contadores, contadores do SQL Server, você pode criar suas próprias consultas.

Você pode, inclusive, saber, se quiser, extrair os dados do ambiente do vCenter ou do Hyper-V, como resultado da pesquisa que está ocorrendo e que você pode fazer isso regularmente e puxe esses dados e possa visualizá-los. E, mais uma vez, gire de um lugar para outro enquanto você olha essas informações.

Portanto, esses são os tipos de coisas que, em termos do que vejo as pessoas pedindo quando estão falando sobre uma ferramenta que as ajudará em termos de ajuste e desempenho - o produto que eu vou mostrar em apenas um o segundo é o Diagnostic Manager e suporta tudo, desde 2000 até 2016. É específico para o SQL Server e, por isso, monitoramos o gerenciamento dessas coisas. Não há agentes nas instâncias em si que estejam monitorando a instância.

Isso remonta a coletar as informações a um custo pequeno, que, você sabe, tentamos obviamente mais coletar essas informações, sem usar muitos recursos também, não é? Estamos tentando aproveitar o que o SQL Server já está nos fornecendo e melhorando, sejam as visualizações dinâmicas de gerenciamento, eventos estendidos ou qualquer que seja o caso em termos da própria coleção. Ser capaz de alavancar essas informações e melhorá-las é um dos nossos mandatos.

Agora, se você examinar isso com muita rapidez, não analisarei a arquitetura com muitos detalhes, mas com um repositório de back-end com todos os nossos dados históricos que você pode gerenciar e pode manter enquanto você quer. Você pode até escolher o tipo de informação que deseja manter e por quanto tempo. Isso remonta a isso, coletando os dados apropriados e deixando de fora os dados desnecessários. Se você deseja manter as consultas por cinco dias com desempenho central e, em seguida, manter seus alertas por dois anos, isso depende de você e é completamente sua prerrogativa em poder fazer isso.

Vários consoles diferentes com este produto. Você tem uma versão baseada na Web, também tem uma versão cliente espessa. E, portanto, ter a flexibilidade de pular em um navegador e ver o que está acontecendo, ou se você tiver um laptop em que tenha um cliente dedicado instalado, qualquer uma dessas abordagens funcionaria para você.

Agora, o que eu gostaria de fazer é fazer uma demonstração rápida. E gostaria de salientar - voltando a este outro slide aqui - que temos, acabamos de adicionar, apenas como um FYI para aquelas pessoas que estão familiarizadas com o produto, temos uma nova oferta que é a Gerenciador de diagnóstico Pro. Uma oferta profissional que inclui algo a que chamamos Análise de Carga de Trabalho.

E, na verdade, trata-se de ser capaz de analisar interativamente períodos muito grandes e passar da exibição de 30 dias para a exibição de cinco minutos em três cliques. E ser capaz de ver o pico no desempenho ou o problema no gargalo que você poderá, você sabe, seria capaz de ver em um nível muito alto e se aprofundar em um nível muito baixo. E, especialmente, também hoje, isso é novo no produto.

Mas o que eu quero fazer é apenas o começo, e quero falar um pouco sobre isso e como ir e voltar. E eu trouxe um exemplo, e vou compartilhar na minha tela aqui. E, vamos ver … Lá vamos nós. Minha tela E me avise, pessoal, que você pode ver.

Eric Kavanagh: Lá vai você.

Bullett Manale: Está tudo bem por lá? Bem. Então, o que você está vendo agora - e este é o produto Diagnostic Manager - e eu só queria fazer uma demonstração de alto nível do que está acontecendo aqui. Neste exemplo em particular, o que estamos fazendo é mostrar as consultas associadas às esperas. E assim, quando eu falo sobre poder ir e voltar, aprofundar e girar, é isso - essa visão aqui é um bom exemplo disso. Posso ir de uma exibição da linha do tempo, como vemos aqui, que será exibida agora. No nosso caso, estamos vendo as esperas em si e as categorias das esperas em si. Podemos ver as declarações vinculadas a essas esperas, podemos ver os aplicativos.

Observe que está em uma exibição da linha do tempo aqui, para que eu possa identificar essas informações linearmente com base em quando o problema ocorreu, mas, novamente, se eu quiser apenas, mais uma vez, girar, e eu digo: "Quer saber, vejamos isso de uma perspectiva diferente ", vamos prosseguir e analisar isso do ponto de vista de" Quero ver as consultas, as esperas ou os aplicativos que estão me causando mais dor e classificá-los ". E é isso que nós ' vamos ver por "consulta espera por duração". Agora, estamos vendo os aplicativos que estão me causando a maior quantidade de dor, ou as esperas.

E então, aqui está a parte que é realmente a parte mais importante: poder isolar essas coisas. Eu posso ver que este aplicativo NoSQL está começando aqui. Isso está me causando uma boa quantidade de tempo de espera, além dos 25 segundos de tempo de espera dentro dessa janela de 30 minutos em que estamos detalhados. E então posso isolar esse aplicativo e posso ver as instruções, neste caso, que estão afetando diretamente essa instância específica.

Portanto, este é apenas um exemplo de como você seria capaz de identificar um gargalo, classificar as informações e priorizar os problemas que precisam ser abordados primeiro. Essas são todas as coisas que você deve considerar. Você pode corrigir problemas o dia todo, mas se você estiver corrigindo os problemas que estão no final da lista a serem corrigidos, estará perdendo tempo. Você tem um custo de oportunidade associado a isso.

Vou dar outro exemplo, e este é um exemplo um pouco diferente. Em vez de apontar especificamente para um problema ou apontar para uma área, você também precisa de uma ferramenta que possa ajudá-lo em um sentido amplo, ao ser capaz de dizer: "Ei, tivemos algum problema?" existem coisas que eu posso fazer para melhorar o desempenho? ”e ter algo meio nos bastidores, assistindo o que está acontecendo. E, neste caso, isso pode estar relacionado à configuração; pode estar relacionado à maneira como a integridade da instância está sendo gerenciada. E também, obviamente, desempenho também.

Se eu for para este botão Analisar aqui, o que eu vou mostrar é que, dentro deste produto, também temos uma lista proativa de coisas que podem ser executadas em um formato classificado que fornecerão informações detalhadas nas coisas que provavelmente lhe proporcionarão um aumento no seu desempenho nessa instância ou um aumento na saúde dessa instância. E está em um formato classificado, no sentido de que você tem a capacidade de ver quais têm mais chances de melhorar seu desempenho específico para um tipo específico de problema que foi identificado.

E assim, quando olho para essas coisas e as identifico, não apenas vejo que tenho um problema e também tenho, em muitos casos, um script que pode ser construído automaticamente para corrigir esse problema. Mas em muitos desses casos, também temos links externos que referenciam o tipo de problema que estamos enfrentando e, por que motivo, também estamos dando essa recomendação, para que você entenda esse aspecto educacional. O que, mais uma vez, acho muito importante quando você está falando sobre a correção de problemas.

Não quero apenas seguir cegamente essas recomendações, quero entender por que essas recomendações estão sendo feitas. E eu posso ser um DBA sênior que faz isso há 30 anos e preciso de algo que, você sabe, verifique os - ou pontue os i e cruze os t, neste caso - ou talvez eu seja um DBA júnior e Preciso de um pouco de ajuda para entender esses problemas enquanto eles estão acontecendo e por que essas recomendações estão sendo feitas.

Como eu disse, eu vou levá-lo através de duas partes diferentes do produto. Essa ferramenta existe, você sabe, existe desde 2004, 2003. E realmente tem muito desenvolvimento nele, muita informação, então não faria sentido tentar mostrar tudo aqui. Mas acho que uma das coisas que vale a pena notar é que, quando entramos e começamos a conversar sobre todas as coisas que você pode monitorar e sobre as quais você pode alertar, mais uma vez, voltando à flexibilidade das coisas, aqui está uma lista de todos os itens que estamos monitorando.

Agora, isso não significa necessariamente que eu quero considerar essas coisas em estado de alerta se elas saírem do controle em termos de limite, para que você possa ativar e desativar essas coisas. Isso remonta ao seguinte: “Ei, eu só preciso fazer certas coisas com determinadas métricas. Eu só preciso, você sabe, alertar sobre certos problemas. ”E ser capaz de garantir que não vamos saturá-lo com um monte de falsos positivos. Não apenas você tem a capacidade de ativar e desativar essas coisas, mas em muitos casos, você notará que também fornecemos essa faixa de normalidade relacionada a cada métrica. Então, se eu estiver olhando para esse particular, neste caso, uma linha de base, notaria que o limite provavelmente está mais alto do que no momento.

Do outro lado da moeda, e se eu tiver uma instância do SQL, onde estou acompanhando algumas métricas e essas métricas, por qualquer motivo, os limites que defini estão incorretos? Em outras palavras, os limites estão bem no meio de onde a linha de base está realmente sentada, o que significa que se eu tiver um alerta vinculado a esse limite, provavelmente vou receber um alerta para algo que é um evento normal. E assim, nesses tipos de situações, podemos fornecer essa visão também em todos os aspectos.

Para todas as métricas dessa instância em particular, posso ver os limites que provavelmente irão mostrar um falso positivo aqui em termos do que é normal e do que não é. Isso será algo que seria considerado mais uma coisa de uso normal no lado da memória, e se eu quisesse aumentar esse limite, poderia, mas esse é o tipo de idéia com as linhas de base.

E o interessante do produto Diagnostic Manager em termos das próprias linhas de base é a capacidade de definir várias linhas de base. E você pode perguntar: "Por que eu gostaria de fazer isso?" E a resposta é: bem, se você tem uma janela de manutenção que vai de, digamos, meia-noite às 4 da manhã, onde você está realmente tributando seus recursos, você está realmente usando os recursos o máximo possível, então você pode ser capaz de, mais uma vez, mudar de posição e girar um pouco e dizer: "Olha, vamos mudar nossos limites para isso". E, na verdade, podemos ajustar dinamicamente nossos limites, de acordo com a linha de base em que estivermos, com base na hora do dia ou dia da semana e assim por diante. Então, ele ajustará dinamicamente esses limites para nós.

Vamos dar um passo novamente. Depois de identificarmos esses limites, passarmos e, em termos de configuração de alertas e notificações e de estarmos informados dessas situações que podem acontecer, mais uma vez, a flexibilidade é fundamental aqui. Você deseja poder alertar em situações específicas. Em outras situações, convém enviar um email para outra pessoa, executar um script do PowerShell, você pode, você sabe, a lista continua.

Talvez eu queira integrar algo através da interceptação SNMP ou mesmo diretamente com, por exemplo, SCOM. O ponto é que você tem flexibilidade para fazer isso e pode configurar quaisquer tipos de condições que justifiquem isso, seja uma condição de alcance muito amplo - você sabe, minha CPU e memória ou quaisquer recursos - em todas as minhas instâncias, ou talvez eu tenha um tipo muito específico de coisa que desejo monitorar porque, quando descobrir que estamos violando, desejo executar um script muito específico e direcionado para esse problema. Portanto, é aqui que você poderá fazer esse tipo de coisa dentro do produto Diagnostic Manager, apenas em termos de alerta e notificação, além de poder ser flexível desse ponto de vista.

Agora, não vou passar por todos os alertas e todas essas coisas boas. Eu queria falar sobre os relatórios. E, mais uma vez, poder obter as informações e aproveitar esses dados de várias maneiras diferentes - e isso remonta novamente à conversa com seus dados. E muitas pessoas, quando vêem este produto pela primeira vez, pensam: “Bem, vou ter uma ferramenta que me alertará quando houver problemas. É disso que eu preciso. ”E a realidade é que eles precisam dessa ferramenta, mas o outro lado é que, se realmente - eles também precisam de uma ferramenta para ajudá-los a tomar decisões, e podem aproveitar essa informação de que estamos coletando em nome do desempenho e também em nome do alerta, para poder ajudá-lo a tomar decisões no futuro.

Você sabe, um bom exemplo seria minhas previsões de crescimento dentro do meu banco de dados. Se eu tiver um banco de dados específico em crescimento, poder apontar para esse banco de dados ou vários bancos de dados para ver quais são as taxas de crescimento. Não estamos mostrando a você o que você sabe hoje; preverá isso com base no crescimento passado que experimentamos.

Se eu tenho alguns bancos de dados aqui - que por acaso tenho, imagine isso - eu poderia entrar e dizer: “Vamos pegar o último, você sabe, o valor de dados do ano, vamos correlacionar isso por mês e em uma amostra meses, vamos ver quanto crescimento veremos nos próximos três anos, ou 36 unidades. ”Nesse caso, podemos responder rapidamente a essa pergunta. Agora, tente fazer isso sozinho, certo? Tente fazer isso em tanto tempo quanto eu fiz sozinho. Vai demorar um pouco.

Agora, para enfatizar ainda mais isso, vamos pegar outro relatório, que é o meu relatório dos principais servidores. Imagine que tenho cem instâncias de produção, o que, neste caso, não tenho. Mas se alguém vier até mim e disser: “Preciso que você me diga - vamos lançar esse novo banco de dados para este ótimo aplicativo; vai mudar tudo como a conhecemos; isso tornará a vida tão maravilhosa. Ah, a propósito, o próprio banco de dados precisará muito de E / S, ou precisará de muita CPU ou de muita memória … ”, qualquer que seja o espaço em branco que eu quero ser capaz de ver, de todas as minhas instâncias de produção, onde faz sentido colocar esse banco de dados? E posso classificar todas as minhas instâncias umas contra as outras em termos do tipo contingente, seja CPU, memória, disco ou qualquer que seja o caso. Portanto, o ponto aqui é ser capaz de responder a essa pergunta de maneira rápida e eficiente e tomar a decisão certa, em vez de adivinhar quando você faz isso - tudo isso é obviamente muito importante e você precisa de algo que o ajude.

E quando falamos de análise, ela pode variar de algo como o que estamos falando no planejamento de capacidade a alertas que você encontra diariamente, que podem lidar com a CPU, como bem como, obviamente, as próprias consultas, se há bloqueio e assim por diante.

Outro exemplo disso seria, se eu fosse para a seção de administração por aqui - na verdade, retiro a seção de alerta por aqui - consultando o depositário de nossas informações históricas por coisas que aconteceram no passado. Eu tive o bloqueio que ocorreu no meu ambiente de produção? Eu não sei, vamos descobrir.

Posso voltar à minha tag Produção e posso dizer, para todas as minhas instâncias de produção, em qualquer período de tempo, para qualquer métrica que eu queira identificar. Se eu entrar em estado de alerta, no nosso caso, digamos, bloqueio por contagem, não por segundos, e eu posso voltar e, nesse caso, alguns meses, se precisar - ou neste caso, um mês - e eu posso ver esse bloqueio. Posso ver quando ele começou, posso ver quando terminou e posso detalhar qualquer um desses intervalos de extração, se necessário, para ver as especificidades do incidente de bloqueio em si. Você precisa ter algo muito rápido, encontrar o que precisa e procurar, em vez de rodar muitos ciclos para fazer isso. E, portanto, acho que isso também é importante.

A última coisa que quero mostrar a você - e mostrando a você este produto, o produto Diagnostic Manager - é que, como já mencionei antes, entramos e adicionamos outro componente ao SQL Diagnostic Manager Oferta profissional. E esse é o componente de análise de carga de trabalho. E esta é uma versão baseada na Web, neste caso, estamos mostrando aqui. Mas o ponto aqui é que, isso permite que você observe um período realmente amplo ou uma janela de tempo muito específica e, a partir de alguns cliques, é possível ver o código diretamente relacionado a problemas que podem ter acontecido .

Como exemplo disso, se eu estiver olhando para uma exibição de quatro semanas, aqui posso ver todos os picos em termos de bancos de dados e desempenho desses bancos de dados e onde vimos atividades de espera nesses bancos de dados. Agora, e você pode ver, se eu ver um pico aqui, o benefício dessa ferramenta em si é apenas destacar essa pequena barra ali. E então, quando faço isso, tudo muda aqui. Poderíamos ver os bancos de dados, veríamos todos os comandos vinculados ao que está por trás dessa barra.

A mesma coisa se eu dissesse: "Vamos examinar as últimas quatro horas", em vez das últimas quatro semanas. Eu ainda posso fazer isso. Ainda posso destacar esse período de tempo e, a partir daí - eis aqui, mais uma vez, meus pontos de articulação - todas essas coisas aqui às quais posso vincular. As principais instruções SQL, posso ver as consultas, neste caso, que estavam causando esperas relacionadas ao consumo de CPU. Apenas detalhando, posso ver as consultas relacionadas aqui - oops - e também posso ver os programas e outros enfeites associados a isso.

Você tem muitas idéias aqui, e não apenas isso, mas pode ver que, quando você desce ao nível do comando, isso vai lhe dizer coisas. Vai lhe dizer se ele vê operadores pesados, então você pode ver os planos de execução. Isso está demorando um pouco, porque é bastante extenso carregar este. Mas o ponto aqui é que você tem muitas maneiras diferentes de visualizar os dados, de ver o que você está procurando e, obviamente, ser capaz de agir a partir daí, conforme necessário, e isso está acontecendo mais do que normalmente, então vou deixar assim.

E assim, com isso dito, vou repassá-lo. E espero que tenha sido uma boa demonstração do tipo de coisa sobre a qual estávamos falando. E, como eu disse, o próprio produto que estávamos usando para dar esses exemplos já existe há muito tempo, e muitas outras coisas que poderíamos falar e mostrar a você, mas se isso é algo de interesse você pode sempre acessar nosso site, fazer o download e brincar com ele.

Eric Kavanagh: E eu amo que você mostre todos esses detalhes. Se você voltar algumas telas - mesmo essa tela é muito boa. Porque existem muitas maneiras diferentes de visualizar o que realmente está acontecendo, e acho que esse é um dos aspectos mais subestimados da computação atualmente. Certamente é um ambiente de banco de dados que, de muitas maneiras, eu tenho essa meia-piada que digo: "Ainda estamos aprendendo a falar de silício". Ainda estamos aprendendo a entender como ver o que está acontecendo e, a seu ponto, que foi muito bem aceito, você precisa ter essa conversa com os dados para entender melhor o que está acontecendo, por que as coisas estão indo devagar, porque há tantos problemas possíveis. E, é claro, a IDERA tem vários produtos diferentes, um dos quais são os antigos produtos Precise que eu acho que poderiam complementar isso.

Mas talvez Robin, eu o lance para algumas perguntas, e então Dez, algumas perguntas suas e talvez alguém da platéia, não seja tímido. Envie-os agora.

Bullett Manale: Robin, você está mudo?

Robin Bloor: Sim. Está tudo bem, só estou me mudando. Devo dizer que é incrivelmente - a coisa que realmente me pareceu mais dramática sobre essa ferramenta, porque realmente - especialmente considerando o fato de ser bastante óbvio que toda uma série de dimensões em que você simplesmente não entrou - a coisa que realmente, Acho que o mais impressionante é que isso deve ser uma maneira muito, muito boa de treinar um DBA. Você sabe, é - então, quando você começa a trabalhar no banco de dados e realmente não sabe muito sobre o que realmente está acontecendo em um banco de dados, é realmente muito, muito difícil de entender. Então isso é muito usado, especificamente para treinamento? Eu usaria isso.

Bullett Manale: Sim. Quero dizer, quando você diz treinamento, você quer dizer um tipo de treinamento em andamento como um tipo de coisa de DBA, certo? Em termos de…

Robin Bloor: Sim, sim, sim, sim. Uma ferramenta de aprendizado. Você sabe, a.

Bullett Manale: Sim, eu acho que com certeza esse é o caso, e ainda mais que adicionamos isso, o componente Analyze que estávamos mostrando anteriormente, que tem todas as recomendações vinculadas a ele. Mas acho que com certeza você encontrará, na ajuda e em várias áreas diferentes do produto, uma grande quantidade de informações. Muita informação.

E a realidade é que, como eu disse, você pode usar isso se não for um DBA. Você provavelmente se encontrará fazendo algumas pesquisas no Google e coisas assim, apenas para o conhecimento geral do que a maioria dos DBAs possui, mas você pode correlacionar isso e definitivamente ajudará em termos de: "Ei, você sabe, ei, o que é isso?" essa coisa chamada fragmentação? ”ou“ Por que essa consulta está sendo executada 6.000 vezes? ”Quero dizer, porque essas coisas serão apresentadas a você e elas borbulharão, e você as verá. Você verá que você é o que é normal e o que não é. Você verá as coisas que estão disparando e as que não estão.

Como regra, tentamos configurar isso como, em termos de melhores práticas. Assim, quando você apontar para uma instância, ele mostrará as coisas que são identificadas como fora das práticas recomendadas. Quero dizer, é claro, você sabe, a realidade é que as melhores práticas são boas práticas e nem sempre são práticas reais. Mas, você sabe, ele mostrará os valores discrepantes, mesmo a partir do ponto inicial em que você o instalou e apontará para uma instância.

A partir daí, você pode seguir em frente, conforme necessário, para corrigir os problemas e identificar se isso é realmente um problema ou algo que normalmente acontece no dia-a-dia. E então, porque você tem muitas informações para ajudar e as recomendações, sim, absolutamente.

Robin Bloor: Tudo bem. E outra pergunta - mas tenho certeza de que a resposta é muito rápida - é que você tem a granularidade de ir até a consulta individual e o ponto individual no tempo e olhar a partir dessa dimensão.

Bullett Manale: Claro, sim. Dependendo do que você deseja fazer, é possível observar uma janela de um minuto ou uma janela de três dias ou, você sabe, uma janela de três semanas. E, como eu disse, depende de como você deseja visualizar os dados e também o que deseja coletar. Em alguns casos, coletamos apenas as consultas que atingem um limite que você identificou. Em outros casos, podemos coletar todas as consultas que causam uma espera.

Mas você também tem a capacidade de dizer: “Veja, os limites que eu identifiquei, talvez sejam apenas para gravações, ou talvez apenas para leituras, ou talvez apenas para CPU.” Então, assumindo que ultrapassou esse limite, então é isso sobre o que você deseja coletar.Então, em qualquer período em que você queira examinar, você poderá ver as consultas que são ofensivas, com base no que você considera ofensivo.

Você tem várias maneiras diferentes de ver os dados. Você pode vê-lo no modo de exibição consolidado para ver, você sabe, as consultas que - quantas consultas nos bastidores começaram, versus, você sabe, todos os incidentes dessa consulta, para observar um padrão, se você vontade, para ver se está piorando continuamente.

Mas, para responder sua pergunta, você pode definitivamente apontar para a hora que quiser. Você tem essa coisa chamada Navegador Histórico - e eu estava meio que usando um pouco -, mas basicamente qualquer ponto no tempo que você selecionar, qualquer dia no calendário que você selecionar, você pode ir diretamente para esse ponto no tempo.

No momento, eu estou olhando em 15 de novembro às 19:05 e podemos olhar para consultas específicas para esse horário. Se eu tivesse algum que estava funcionando mal, devido a essa janela de tempo, poderíamos examinar os detalhes da sessão específicos para essa janela de tempo para ver quais sessões estavam em execução. Quero dizer, há uma quantidade enorme de dados aqui, e como eu disse, a parte mais difícil, na verdade, são os talvez 30 minutos de brincar com o console e descobrir como fazer essas coisas.

Porém, depois que você reconhecer que a maioria dos dados aqui está nessa faixa de opções e é dividida por essas guias, cada uma delas possui seu próprio conjunto de botões dinamicamente alterados, que aparecem toda vez que você clica nele, se estiver olhando coisas do tempo ou coisas que aconteceram na semana passada, é o mesmo processo. Basicamente, estou olhando agora no dia 15 de novembro, mas posso olhar com facilidade o tempo real apenas clicando nesse botão. E eu vou interagir com os dados da mesma maneira.

Mas, para responder sua pergunta, sim, existem várias maneiras diferentes de visualizar informações históricas, e isso também se refere às próprias consultas.

Robin Bloor: Entendo. É muito impressionante. E adoro o fato de as janelas serem sincronizadas, mesmo que isso se torne praticamente necessário em qualquer coisa que lide com dados em tempo real atualmente.

Bullett Manale: Sim. Certo.

Robin Bloor: Aqui está apenas um ponto de informação que eu realmente não sei a resposta. Como suas ofertas - SQL Server e a nuvem - você pode apontar para a nuvem em Ratio?

Bullett Manale: Você pode. Você pode apontar isso sob a nuvem. Quando você realmente adiciona instâncias, ele pergunta se é RDS ou Azure. Agora, haverá algumas limitações baseadas no que está sendo exposto a nós da nuvem, então pode haver uma - há uma pequena diferença em termos do que podemos monitorar, simplesmente porque a instrumentação, em alguns casos, não é para reunirmos, com base no que a Microsoft está expondo.

Agora, se é algo como, você sabe, infraestrutura como plataforma, como, você sabe, ou EC2 ou algo assim, isso não é um problema. Nós temos tudo. E enquanto trabalhamos com a Microsoft e com a Amazon; estamos trabalhando para expor essas informações com mais detalhes. Mas absolutamente sim, apoiamos esses ambientes.

Robin Bloor: Ok, isso é interessante. Bem, vou passar para Dez, que tenho certeza de que fará perguntas de uma direção diferente.

Bullett Manale: Tudo bem.

Dez Blanchfield: Obrigado. Eu tenho dois muito rápidos para você. Eu acho que você sabe, o primeiro é, as escalas, você sabe, eu acho que uma das coisas que me impressiona é que o tema geral da performance tende a ser algo em que pensamos quando ficamos muito grandes, muito grandes, escala muito ampla e ampla e terabytes de dados. Ao assistir à demonstração, me pareceu que isso é algo que realmente se aplica até a ambientes muito pequenos, meio que apenas obtendo resultados de desempenho.

Que tipo de propagação você vê na aceitação disso, e você acha que é uma ferramenta que tem uma boa, você sabe - na minha opinião, tem, então eu acho que é um sim - mas estou ansioso para ver o que você está vendo. As organizações menores estão tendo as mesmas conversas e procurando uma ferramenta para fazer isso, ou é realmente algo no extremo maior da cidade?

Bullett Manale: É engraçado - é uma boa pergunta. É um pouco confuso, mas eu diria que temos muitos clientes pequenos. E quando digo clientes pequenos, quero dizer, você sabe, compras de uma a cinco instâncias para licenciar para gerenciar. Agora, em alguns casos, eles podem ter 30 instâncias, certo, do SQL, e eles realmente se preocupam com os cinco de maneira realmente importante para investir em uma ferramenta como essa, nessas cinco instâncias.

Mas a realidade é que, mesmo nas lojas menores, você tem um punhado de servidores SQL por aí. Na maioria dos casos, ou em muitos casos, essa pequena loja depende muito desses bancos de dados, por causa do que eles fazem. E assim eles não, eles não podem deixar isso acontecer. Eles não podem, você sabe, eles precisam ter uma ferramenta.

O outro lado dessa moeda é que, em algumas dessas lojas menores, eles não têm DBAs dedicados, então o cara que é o cara mais inteligente da sala ou o cara mais técnico da sala acaba sendo o DBA designado. E assim, nessa situação, eles definitivamente estão procurando alguma ajuda, e essa ferramenta obviamente também os ajudará nesse sentido.

Para os seus ambientes maiores, como acho que Dez o mencionou - ou Robin, não tenho certeza -, mas você sabe, nos ambientes maiores, você ficaria surpreso com quantos DBAs eles têm, quero dizer, ' estamos falando de um grande número de instâncias do SQL e você tem literalmente um punhado de DBAs encarregados de serem responsáveis ​​por eles. E dessa perspectiva, esses caras, você sabe, estão procurando alguma ajuda, porque não têm os recursos realmente suficientes para realmente ajudá-los e, portanto, uma ferramenta ajudará a compensar parte disso.

E também vemos isso um pouco, onde você tem três caras gerenciando 200 instâncias. E então você pode imaginar a logística disso, se não tiver uma ferramenta como essa, para tentar descobrir quando há algum problema. Não será uma maneira proativa, posso garantir. Espero que isso responda à sua pergunta. Sim.

Dez Blanchfield: Sim, sim. Pareceu-me - e acho que Robin meio que aludiu a isso - mas, você sabe, o tipo de promessa que você está descrevendo quando fez a demo, quero dizer, eles não são exclusivos para ambientes muito grandes. Você sabe, você pode comprar uma plataforma comum pronta para o uso, projetada para uma coisa e colocá-la em um ambiente compartilhado de banco de dados para outra, e isso punirá todo o ambiente.

A outra coisa que me impressionou - não é tanto uma pergunta, apenas uma observação, mas eu vou levá-la a uma pergunta - e é isso, você sabe, quando as organizações já fizeram um investimento em sua infraestrutura e seus plataforma e banco de dados, servidores e infraestrutura em torno disso, e eles vão comprar um produto, qualquer que seja - um RH, um ERP, uma ferramenta de BI - eles já fizeram um investimento bastante grande.

Que tipo de resposta você vê quando conversa com as pessoas e elas percebem que têm um problema de desempenho, mas agora sentem que precisam fazer mais um investimento para alcançá-lo? Existe um ponto em que eles percebem, depois que você o demonstra, que isso é um acéfalo, e não é tanto um discurso de vendas, mas é mais uma epifania. Você sabe, “nós imediatamente veremos os benefícios disso”. Em vez de apenas ter que vender o produto? Parece-me que se vende, e o ROI apenas salta da página.

Bullett Manale: Sim, e isso é engraçado, você diz isso porque, muitas vezes, acontece que alguém, como um DBA ou até mesmo o representante de vendas, aparece e diz: “Ei, esses caras querem veja uma, como, uma folha de ROI sobre isso. ”E mais como uma, algo no papel que enviaríamos a eles. E a demonstração é sempre 10 vezes melhor, especialmente sendo, você pode fazer isso com os próprios DBAs, porque:

Dez Blanchfield: Sim.

Bullett Manale: Como você disse, o produto se vende. É realmente difícil colocar um ROI em um pedaço de papel e dizer: "Ok, quantos cliques um DBA normalmente, você sabe, clica em uma hora?" No que se refere a backups, você sabe, ou qualquer que seja o caso, você sabe? E tentando colocar isso em um pedaço de papel, é realmente difícil fazer isso. Mas quando você pega alguém e mostra o produto para eles, e eles veem, é exatamente o que você disse.

As pessoas percebem o valor disso. Porque não apenas os ajuda a entender e tomar melhores decisões, mas também os ajuda a não serem os maus. Eles podem ser os primeiros a saber; eles podem corrigir o problema antes mesmo que seja identificado que houve um problema.

A outra parte disso é que, como DBA, seja um, você sabe, real ou percepção - e eu acho que é percepção - você é o dono dos problemas de desempenho, na verdade. Você é o cara que aponta o dedo para você quando o desempenho diminui, e a realidade é que poderia ser o desenvolvedor que realmente está causando o problema.

Tendo uma ferramenta para poder dizer: "Ei, esse não é o meu problema, preciso levar isso ao desenvolvedor e eles precisam corrigir isso" ou, você sabe, nesse sentido. É uma ótima maneira de poder ter algo em seu arsenal para poder dizer: "É aqui que está o verdadeiro problema". Você sabe?

Dez Blanchfield: Sim. O último para você, e o que mais me impressionou, ao observarmos isso durante o processo, foi que, muitas vezes, quando pensamos em problemas de desempenho, tendemos a adquirir habilidades especiais. Eles têm 20 anos de experiência, olham para ele e meio que, você sabe, a piada clássica do cara que entra na oficina de engenharia e tem um pequeno martelo e bate na máquina no lugar certo e depois diz:, "Isso é uma correção de US $ 15.000" e as pessoas dizem: "Não estamos pagando por isso", você sabe, porque são cinco minutos do trabalho. E ele diz: "Bem, esse trabalho de cinco minutos levou 15 anos de experiência para consertar e economizou milhões".

Para mim, parece que há um processo intermediário em que as pessoas passam por isso dizendo: "Ok, traga habilidades especiais, corrija o problema, isso desaparecerá". Mas o que eles fizeram foi eles colocaram um curativo nele, certo? Ao contrário de um cenário em que, pelo que posso ver aqui, onde isso acontece, sim, eles podem ter abordado alguns problemas de desempenho que eles pensavam estar enfrentando, mas parece-me, nesse momento, apenas ter esse 24 / 7 tipo de, você sabe, um par de olhos observando o ambiente em tempo real.

Você realmente acaba se afastando do cenário de DBAs sendo despertados às quatro da manhã porque os relatórios estão sendo executados. É o caso - e talvez seja retórico -, mas as pessoas passam rapidamente de um investimento para procurar um produto para resolvê-lo de um problema em particular, mas isso geralmente se torna parte do DNA?

Bullett Manale: Sim, e isso varia de um lugar para outro, mas, quero dizer, tenho algumas pessoas que compraram o produto originalmente, como em 2006, e elas tiveram três empregos diferentes em empresas diferentes, e eles entraram e, quando vão para a próxima empresa, promovem isso como algo a obter porque têm um fluxo de trabalho. E chamo assim, odeio chamá-lo assim, mas, você sabe, esse fluxo de trabalho envolve esse produto e eles estão acostumados diariamente, ajudando-os e, portanto, não querem aprenda algo novo.

Mas absolutamente. Quero dizer, na maioria das vezes nós convidamos as pessoas a baixarem este produto, não é porque elas têm um orçamento e estão saindo e dizendo: “Ei, bem, nós temos esse orçamento de desempenho, precisamos fazer uma prova de conceito, e precisamos intervir e descobrir, fazer uma avaliação e tudo mais. ”Normalmente, o que acontece é que eles têm um problema em uma instância do SQL e estão procurando ajuda para corrija esse problema. Eles fazem o download da nossa ferramenta, solucionam o problema e percebem que isso, a própria ferramenta fará mais do que apenas corrigir o problema que eles tinham na época, que realmente os ajudaria a melhorar o desempenho geral e impedir que outros problemas aconteçam, avançando. E isso é certo. E você definitivamente pode continuar usando essa ferramenta para ajustar continuamente o ambiente, porque sempre será capaz de ver não apenas o que aconteceu no momento, mas o que aconteceu na semana passada, no mês passado, no ano passado e comparar isso com o que vai acontecer amanhã. Você sabe? Aquele tipo de coisa.

Dez Blanchfield: Sim.

Bullett Manale: Então, com certeza.

Dez Blanchfield: Perfeito. Então, você mencionou, mencionou algo sobre … Eu só vou terminar antes de devolver a Eric para fechar. Uma das coisas em que estou sempre interessado é: como as pessoas colocam as mãos nisso? Você mencionou o download. Qual é o resumo de 30 segundos de como eles colocam as mãos nele, obtêm uma cópia, aumentam o conteúdo e brincam com ele, e o que eles podem precisar em termos de infraestrutura, apenas para obter uma instância.

Bullett Manale: Então será isso, você vai para o IDERA (idera) .com. A IDERA.com é a empresa, e se você acessar o site - e eu posso mostrar aqui - não sei se ainda estou compartilhando minha tela, mas se você for para a página Produtos, vá para o Diagnóstico Link do gerente, haverá um pequeno botão de download e você pode fazer o download da compilação depois de preencher suas informações. Eles pedirão a compilação de 32 ou 64 bits, e você estará pronto para competir, como eles dizem.

Dez Blanchfield: E será executado em um laptop para alguém brincar com ele, ou eles precisam carregá-lo em um servidor em algum lugar?

Bullett Manale: Não, não. Na verdade, o que eu mostrei hoje estava funcionando no meu laptop. Agora, meu laptop tem 32 GB e processador de 8 núcleos, mas ainda é um laptop. Mas não precisa necessariamente ter tantos recursos para responder sua pergunta. A avaliação em si é válida por 14 dias, mas você é bem-vindo a fazer uma avaliação mais longa. Se você apenas ligar para nós, podemos estender isso para você, se desejar.

Dez Blanchfield: Eu acho que isso deve ser algo para tirar, porque eu definitivamente vou fazer isso. Eu acho que, pelo que parece, parece-me um acéfalo fazer o download e brincar com ele. Provavelmente vá a um de seus ambientes e veja apenas o que você pode ver, porque suspeito que - como tudo o que vi em um banco de dados nos últimos 20 anos, que me envelhece - depois de ver o que está sob o É incrível o que você percebe que pode consertar rapidamente e obter apenas pequenos ganhos de desempenho.

Incrível, obrigado pela demonstração. Foi realmente bom. Obrigado por todo o tempo para discutir as perguntas.

Bullett Manale: De nada. Obrigado por

Dez Blanchfied: Eric, eu vou lhe devolver.

Eric Kavanagh: Sim, nós temos uma pergunta muito boa do membro da platéia. Você meio que falou sobre isso na sua apresentação, e eu na verdade twitei sobre isso porque era uma ótima citação. Você disse que não deseja usar uma ferramenta para monitorar o desempenho que afeta negativamente o seu desempenho.

Bullett Manale: Certo. Está certo. Essa é uma parte importante de uma ferramenta de monitoramento de desempenho, pois não causa problemas de desempenho. Exatamente certo.

Eric Kavanagh: Exatamente. Bem, é como aqueles que são amaldiçoados - são como os programas antivirais que podem causar estragos nos sistemas. Quero dizer, usei várias tecnologias diferentes para transmissão onde o programa antivírus entra em ação e truncará seu fluxo. Portanto, existem coisas que você não espera, mas a pergunta está relacionada ao comentário específico que você fez. E que tipo de desempenho você vê? São dois por cento, cinco por cento, um por cento? Você tem algum número que pode jogar para nós?

Bullett Manale: Bem, quero dizer, o desafio dessa pergunta é que, você sabe, parte da discussão sobre a qual estávamos conversando anteriormente. Eu posso lhe dar - geralmente é de um a três por cento, para responder à sua pergunta. Mas há mais explicações que acho que seriam necessárias, ou seja, fornecemos várias maneiras de poder dizer à ferramenta o que você deseja monitorar, certo? E assim volta a isso. Bem, talvez eu queira obter uma amostra de cada consulta que está sendo executada. Então, eu quero ter uma ferramenta flexível o suficiente para poder ativá-la para que eu possa ver isso.

E assim, parte dessa flexibilidade inclui, você sabe, há um custo para isso. Se eu precisar coletar mais dados porque quero uma amostra de todas as consultas que estão sendo executadas nos últimos 20 minutos, eu posso ativá-las e fazer isso. E assim, mas de um modo geral, sim, um a três por cento é o que vemos, em termos de despesas gerais. Mas isso varia, e a maior parte depende das suas coisas que você liga e desliga, em termos de seus limites, a quantidade de dados que deseja coletar, seus intervalos de pesquisa, todo esse tipo de material. naquela.

De fato, se você for para a instância que está gerenciando, uma das coisas que verá é que temos vários intervalos de pesquisa que você pode especificar. E isso é simplesmente porque queremos, você sabe, eu não preciso verificar todas as coisas. Se eu quiser fazer uma verificação de pulsação em uma instância, não preciso pesquisar a CPU e tudo mais, se eu quiser. estou fazendo isso a cada 20 segundos. Então você tem vários intervalos de pesquisa que você pode especificar.

Você também tem, como eu disse, o monitoramento de consultas que você pode especificar. E isso pode ser feito para cada instância independentemente, para que você possa realmente atender a essa instância específica em termos do que deseja monitorar. Para minhas estatísticas de espera e monitoramento de espera, eu posso ativar ou desativar. E posso dizer para capturar tudo, posso dizer, o que quero capturar e quando quero capturar. Então, muito disso também - Você precisa levar em consideração o que está fazendo, em termos do que está dizendo à ferramenta para monitorar.

Mas, de um modo geral, o que eu diria é que, como eu disse, cerca de um a três por cento é o que vemos. Estamos vendendo essa ferramenta há muito tempo - desde que, como eu disse, por volta de 2003 ou 2004 - e temos milhares de clientes, então posso garantir que, você sabe, não temos - tentamos nosso melhor não causar problemas de desempenho em nome do desempenho.

Eric Kavanagh: Sim, é uma informação muito boa. Eu apenas pensei que era uma citação brilhante porque, você sabe, novamente, você não quer derrotar o propósito do que está tentando realizar, certo?

Bullett Manale: Exatamente.

Eric Kavanagh: E também agradeço a pergunta de Robin; Essa é realmente uma excelente plataforma para ajudar os DBAs a entender os diversos aspectos, dimensões e camadas do que estamos falando. E acho que o conceito de conversa com seus dados é altamente apropriado aqui, porque, a seu ponto anterior, você não vai descobrir isso na primeira tentativa, geralmente. Você precisa gastar algum tempo olhando para os dados, olhando para dados históricos, fazendo essa síntese em sua mente. E esse é o trabalho do humano, certo? O trabalho da profissão que fica lá atrás e recebe calor dos negócios regularmente, para fazer esse trabalho e manter os trens funcionando no horário, certo?

Bullett Manale: Absolutamente.

Eric Kavanagh: Bem, pessoal, este foi outro evento fantástico. Se alguma pergunta que você fez não tiver sido respondida, informe-me. Envie um email para . Arquivamos todos esses eventos, para que você sempre possa acessar o InsideAnalysis.com para encontrar o arquivo ou acessar nosso parceiro, Techopedia.com. Se você olhar no lado direito da página, verá Eventos e os webcasts listados lá. Se você clicar em Mais eventos, poderá ver todos os webcasts listados lá, no passado, no presente e no futuro.

E com isso, vamos lhe despedir. Temos mais cinco webcasts pelo resto deste ano, pessoal. Podemos agendar mais um. Mas, caso contrário, será em 2017. O ed cal está fora. Informe-nos e se você tiver alguém que queira mostrar sua tecnologia, envie um email para.

Com isso, vamos dizer adeus, pessoal. Mais uma vez obrigado pelo seu tempo e atenção, falaremos com você na próxima vez. Cuidar. Tchau tchau.

A chave para uma análise eficaz: consultas de retorno rápido