Monthly archives "August"

2 Articles

SQL SATURDAY #424: Mais detalhes

Olá! Como você tem investido seu tempo para aprender novas técnicas, desmistificar erros e conversar pessoalmente com profissionais experientes em SQL Server e tecnologias relacionadas?

Já ouviu falar no SQL Saturday? O SQL Saturday é um evento gratuito que reúne grandes nomes da comunidade SQL Server. São várias palestras com temas variados onde você pode aproveitar e incrementar o seu conhecimento, além de trocar experiências e até dar um novo passo em sua carreira. Você aprende e compartilha o conhecimento sobre o produto SQL Server. O evento é organizado pelo PASS (Professional Association for SQL Server) e ocorre no mundo todo. As palestras envolvem temas dos mais variados, passando por temas principais como Desenvolvimento, Administração, BI, etc. Em 2013, eu palestrei no SQL Saturday #253, em Brasília, e este ano vou apresentar em São Paulo. Confira todas as sessões.

Este ano o evento já aconteceu em Joinville, em Santa Catarina, e já está confirmado as edições de São Paulo e Brasília. Não, perca tempo e inscreva-se para participar do evento. Reforço: o evento é gratuito e te dará a chance de aprender mais e te permitir fazer um networking.

São Paulo (26/09/2015): http://www.sqlsaturday.com/424/eventhome.aspx
Inscreva-se e confirme sua participação: https://www.sqlsaturday.com/424/RegisterNow.aspx

Brasília (21/11/2015): http://www.sqlsaturday.com/469/eventhome.aspx
I
nscreva-se e confirme sua participaçãohttps://www.sqlsaturday.com/469/registernow.aspx

 

Mais detalhes sobre minha apresentação

Em 2013, escolhi um tema um pouco mais básico: Índices – Introdução. Por ser a primeira apresentação oficial, eu fiquei bem empolgado mas não queria submeter nada além do meu alcance. Este ano, para São Paulo, fui um pouco mais ousado e submeti um tema um pouco mais interessante: SQL Server, Windows e CPU. Eu já fiz esta apresentação para o VirtualPASSPT e também para um grupo de DBAs em um local que trabalhei. A primeira versão foi bem interessante mas não me agradou muito. Porém a segunda foi além de minhas expectativas e recebi bons feedbacks. Claro que para a versão de São Paulo irei fazer alguns ajustes, também para atender feedbacks, e estou confiante que o resultado ficará bem bacana!

Este é um tema um tanto interessante e é um assunto pouco falado. Vejo dezenas de artigos e blogs ensinando a usar contadores de performance, DMOs, etc., para solucionar, ou mesmo identificar, problemas de CPU, mas percebo que nem sempre existe uma base teórica boa a respeito deste assunto e que tornam as recomendações e dicas complicadas de entender ou de se aproveitar. É aí onde este tema entra. É o meu preferido. Para resumir, os principais assuntos envolvidos nesta apresentação são estes:

  • O significado do percentual de CPU
  • Mitos comuns em relação ao uso de CPU
  • O gasto de CPU por queries

Originalmente com o nome SQL Server CPUing, esta apresentação faz parte, de uma série de três apresentações, onde eu começo falando dos fundamentos e encerro com detalhes como Resource Governor e Hard Binding, além de dar uma boa pincelada em sincronização de threads, o que é extremamente importante. Porém, nenhuma das partes é tão interessante como a primeira. Pois ela é a base e tenho certeza que muita gente, mesmo estes com um pouco mais de experiência, vai aprender algo com ela. Por isso eu escolhi esta sessão para São Paulo.

O público-alvo são estes que já possuem alguma experiência com SQL Server, seja desenvolvendo, seja Administrando.

Este post fala um pouco sobre a apresentação. E este aqui tem um vídeo curto bem legal com principais trechos da apresentação. Dá pra ter uma idéia do que você vai encontrar.

Agradeço aos organizadores, especialmente ao Diego Nogare, pela oportunidade de contribuir para este evento, que é considerado um dos melhores da América Latina.

Bom, espero ver você lá, e não deixe de conferir e aproveitar ao máximo todo o evento. Tenho certeza que você irá sair de lá com bastante proveito.

E em breve, mais detalhes do evento em Brasília.

Pré-Conf Tune like a Guru!

No dia anterior ao SQL Saturday (25/09/2015) vai acontecer um treinamento sobre tunning, com o Kevin Boles, o @TheSQLGuru. Infelizmente eu não conseguirei está presente no horário da apresentação. Mas recomendo fortemente, que se você puder, aproveite esta oportunidade para aumentar suas habilidades de tuning com a experiência e técnicas que serão apresentadas por Kevin. O ingresso custa R$ 300 e é um excelente investimento.  Segue os principais assuntos abordados:

  • Processo de Otimização;
  • Estatísticas: Uso e Manutenção;
  • Índices: Uso e Manutenção;
  • Entendendo o Query Plan;
  • Configurações de Servidor e Database;
  • Melhoramentos no Design;
  • Melhoramentos no Código;
  • Análise de Profiler;
  • Uso de objetos temporários;
  • Análises de Waits e IO

Para se inscrever: https://www.eventbrite.com/e/tune-like-a-guru-by-kevin-boles-thesqlguru-tickets-17913462649

[]’s Rodrigo Ribeiro Gomes

Devo saber programar?

Oi caro leitor!

Estou abrindo um pequeno parênteses para compartilhar uma opinião que faz tempo que quero falar a respeito… Vou fugir um pouquinho do conteúdo técnico e vamos falar sobre conhecimento.

Nos últimos meses tenho experimentado problemas incrivelmente difíceis e interessantes ao mesmo tempo. Problemas que antes me davam medo só de pensar em acontecer, mas ultimamente, fico na expectativa que aconteçam! Sim, é isso mesmo que você leu… 🙂

A questão é que nos últimos meses eu desenvolvi mais ainda minhas habilidades e conhecimento dos porquês e dos funcionamento do SQL server e do Windows. Além do mais, graças a isso eu tenho conseguido ir direto na ferida e, por exemplo, ver estatísticas de uso de recursos e de performance me mostrarem valores mais positivos e elegantes, além de responder com segurança diversos questionamentos que me são feitos.

As aventuras mais recentes foram dois casos, um envolvendo consumo de CPU e o outro consumo de memória. Graças ao estudos dos últimos meses, eu pude, sem muita demora, encontrar a causa raiz, de forma certeira, entender os porquês e levantar soluções com ações simples. Tudo isso graças a utilização das ferramentas certas (isto é, queries, contadores de perfomance, DMVs, etc.).

Mas o que tem mudado e me permite ir tão certeiramente? Simples: um conhecimento mais rico e detalhado sobre como todas as partes envolvidas funcionam. Conhecer a arquitetura de um software e suas dependências é um fator determinamente na velocidade com a qual você vai solucionar problemas desconhecidos e novos, bem como te permitir estimar, planejar e “dizer nãos” com propriedade.

Ok, você pode está se perguntando onde entra a tal da programação e chegamos nela exatamente agora. A programação é a maneira como você torna as coisas mais palpáveis no mundo da TI.  Sabendo programar você materializa suas idéias. Este texto está ficando meio filosófico, mas não tenho outras palavras para descrever o que programar representa. Talvez eu resuma em uma: prática. Você sabe o que é um latch? Você sabe porque threads precisam se sincronizar? Você entende porque deve haver um CMEMTHREAD ? Você sabe ao menos explicar porque quando usa funções escalares, as queries tendem a ficar mais lentas? Você entende o que é uma heap ou um stack e porque é um conceito tão importante? Sabe o WinDBG…? Sabe a real utilizadade daquilo e pra quem server?Dica: Não é pro DBA! Você sabe programar? Pode parecer ignorância, mas para que certos conceitos fiquem mais claros, talvez colocar a mão na massa pode ser uma alternativa não mais rápida, mas efetiva a longo prazo. Isto é, um conhecimento que você não vai aproveitar uma única vez…

Claro, que não posso falar sobre programação sem falar em meus xodós: C/C++ e WINAPI. Eu fortemente recomendo que você aprenda essas duas coisas assim que puder. Isso vai te dar uma nova visão. Aqui que vos escreve não é nenhum expert, ou mesmo intermediário. Conheço algumas coisinhas (sempre fui apaxionado na linguagem C e na API do Windows)… Que já me ajudam bastantes… Imagine se eu  dominasse like a boss.

Aprender a programar pode fazer você absorver melhor os porquês de muitas coisas. Um software complexo, como um SGDB comercial, precisa ter o máximo de perfomance ao mesmo tempo que um controle do ciclo de vida. Sim estou falando de correções de bugs, novas versões, etc. Tudo isso vai definir, entre outras coisas, a arquitetura. E cá estamos aqui, falando de desenvolvimento, perfomance e arquitetura na mesma frase ;)…

Nossa Rodrigo que baboseira! Você está doido

Não, não estou. Assim como aprender inglês e a arquitetura do SO são essenciais, aprender a programar (e puxando a sardinha, aprender C) também é, e muito. Tudo, tudo mesmo, esta voltado e relacionado com programação. O software do mais simples ao mais complexo vão ter em comum o fato de terem sido criados usando alguma linguagem. Aprender a programar é aprender a entender a arquitetura do hardware e do sistema operacional .Familiar? Pelo menos um destes dois itens você precisa entender para lidar com qualquer vertente da área de tecnologia e o nível com o qual você os domina, é o nível com o qual você irá dominar a sua ferramenta de estudo/trabalho.

E afinal, somente serei o “bonzão” se souber programar?

A questão aqui não é ser o “bonzão”. Mas sim, realizar um trabalho com mais qualidade. Afinal, te pagam pelo seu conhecimento e tempo. Você pode ser um excelente profissional e de sucesso sem saber nada de programação. Assim como você não precisa saber muita coisa de inglês… Mas já tentou a diferença? Há algum assunto que você nunca entendeu? Alguma coisa que você achou que era de um jeito mas te mostraram que você estava errado? Então, certos conhecimentos vão incrementar suas habilidades, te fazer compreender os porquês, atuar como blocos simples (coisas complexas são feitas de várias simples). Cabe a você escolher se quer depender pelo resto da vida dos mecanismos de pesquisa ou se quer dominar o assunto e agir sem medo e com propriedade, dando resultados imediatos! Eu escolho a segunda opção e to seguindo nela já há algum tempo, sem arrependimentos, e gerando resultados.