sexta-feira, 13 de novembro de 2009

Treinamento de SQL Server 2008 Internals em São Paulo

===============================================================

Atualização: por questões de facilidade, melhor entendimento e divulgação, montei uma proposta do treinamento com mais detalhes, inclusive um mini-cv deste que vos escreve, e disponibizei no skydrive.



===============================================================

Pessoal, durante os últimos meses eu tenho recebido alguns e-mails isolados, vindo de várias pessoas e estados do Brasil, interessadas no treinamento de SQL Server 2008 internals. Tentando atender aos poucos essa demanda e não querendo postergar demais, eu estou propondo uma turma em São Paulo para o início de 2010.

Quando: 25/01/2010 a 29/01/2010 - 9:00h a 18:30.
1:30h de almoço livre e dois coffee-breaks de 15 minutos.
Onde: a definir - Idealmente zona sul de São Paulo perto da Berrini
Quanto: R$ 1600,00 (em até 4x sem juros)
Mínimo de alunos: 10
Máximo de alunos: 18
Material: Kit Sr. Nimbus de treinamento e certificado de conclusão (75% de presença).

Interessados, entrar em contato comigo: luciano.moreira@srnimbus.com.br

O treinamento somente será confirmado se um mínimo de 10 alunos efetuarem a inscrição e a nossa data limite para confirmação é dia 10/12/2009. Caso o curso não se confirme escolheremos outra data, provavelmente Maio por conta do meu calendário em Brasília.

Antes de chegarmos na ementa eu gostaria de dizer algumas palavras... Montei esse treinamento com base no que aprendi através dos livros, na Microsoft, vivência com o produto, e não acho que seja um curso para o público geral - como o de T-SQL Querying e T-SQL Programming que temos - tanto que não pretendo oferecê-lo em um pacotão para empresas, pois talvez sejam poucos os que realmente o aproveitarão da maneira que eu acredito que deveria ser absorvido pelo aluno.
Então, os alunos desse curso normalmente são aqueles que têm curiosidade para entender como as coisas funcionam e querem sair da média, um SQL geek mesmo! Pois veremos muitas coisas detalhadas que talvez você não irá utilizar diretamente no dia-a-dia, mas minha expectativa é que as pessoas entendam o porquê das coisas no SQL Server 2008. E esse conhecimento fará o profissional sair de lá e olhar para o ambiente de maneira diferente, deixando de achar que as coisas acontecem por acaso ou sorte, podendo falar com propriedade e defender o que é melhor para cada cenário.

Para quem me conhece, tento misturar uma boa teoria com demos interessante e, se possível profundas, colocando o aluno para refletir. É comum eu me empolgar e dificilmente termino alguma apresentação no tempo previsto, então adicionei algumas horas extras para cobrir tudo, pois originalmente esse treinamento seria de 32 horas.

Esse treinamento é diferente dos MOCs e outros cursinhos de SQL que vemos por aí. Sendo ele focado em internals, fica complicado eu disparar um laboratório do tipo: utilize o DBCC PAGE para analisar a estrutura da página e correlacionar o header dela com o log de transação atual utilizando o fn_dblog. Não acha? Fique tranquilo que isso é coberto na demo 04/04!
Por isso eu tento rechear o curso de demos (que vocês receberão com o kit e poderão executar junto comigo) e deixo o curso sem laboratórios, apenas sugestões de outros testes interessantes para casa e painéis de discussão, então posso dizer que vocês aproveitarão as 40 horas com conteúdo de verdade (uma overdose de Luti e SQL Server! :-)).
Mantendo a mesma idéia que eu havia proposto para um primeiro treinamento em São Paulo, penso eu alugar uma sala em um hotel, sem máquina para o aluno, mas com a bancada para que cada um traga seu notebook. Se cada um tiver uma instância do SQL Server 2008 instalada já será suficiente para acompanhar o curso.




Se você participar e sair dessa semana percebendo o tanto de coisas que ainda temos que aprender e que achando que sabe muito pouco, mas com um sentimento de que agora terá um maior controle sobre seu ambiente, minha missão foi cumprida!





SQL Server 2008: arquitetura, estrutura de armazenamento e funcionamento interno.

Duração: 40h
Nível do treinamento: 300/400
Referências: Inside Microsoft SQL Server 2005: the storage engine e SQL Server 2008 Internals.
Pré-requisitos: O aluno já deve trabalhar com o SQL Server, saber escrever de forma proficiente consultas T-SQL e conhecimento da teoria de banco de dados relacional.
Público alvo: desenvolvedores T-SQL e DBAs SQL Server, que querem entender como o SQL Server funciona em maiores detalhes e saber como utilizar os recursos disponíveis de forma eficiente, pois se não houver uma estrutura bem elaborada com uma programação bem feita, o desempenho da solução ficará comprometido. Alguém sem experiência com SQL Server ou que nunca trabalhou diretamente com o banco de dados, terá dificuldade em acompanhar o curso.
Descrição: Este treinamento visa oferecer ao aluno uma visão da arquitetura do SQL Server, juntamente com uma visão simplificada do sistema operacional, descrevendo os mecanismos que fazem o SQL Server funcionar. Após a visão arquitetural é ensinado como criar as estruturas em um banco de dados (tabelas e índices), sua organização física, funcionamento do log de transação, cache de planos e gerenciamento de concorrência.

Conteúdo programático:

Módulo 01: Arquitetura do sistema operacional - gerenciamento de memória (VAS, 32 e 64 bits, PTE, AWE, PAE), processos/threads, operações de I/O, storage e alinhamento de partição.
Módulo 02: Arquitetura do SQL Server - engine relacional, engine de armazenamento, SQLOS, schedulers , gerenciador de memória , lazy writer, métodos de acesso, buffer manager, otimizador de consultas, protocolos de rede, entre outros.
Módulo 03: Banco de dados – tipos de bancos, arquivos, modelo de alocação (GAM, SGAM, PFS e IAM), filegroups e melhores práticas, estados do banco, database snapshots (utilizações e desempenho), opções de configuração e a tempdb e suas otimizações.
Módulo 04: Log de transação – importância, características de funcionamento, protocolo WAL, LSN, checkpoint, modelos de recuperação, estruturação interna (VLFs), problemas comuns, crescimento e funções não documentadas.
Módulo 05: Tabelas – criação de tabelas, tipos de dados, uso do NULL, restrições, chaves estrangeiras, estrutura do armazenamento físico e alterações de dados (análise dos internals da página com DBCC PAGE).
Módulo 06: Índices - tipos e seu armazenamento físico (CL, NCL e heaps), criação e suas opções, modificação de dados e seu impacto, fragmentação (como evitá-la e corrigi-la), estatísticas e índices especiais.
Módulo 07: Armazenamento especial - objetos grandes (LOBs), tipo filestream (criação, manutenção e desempenho), colunas esparsas, compressão de dados e particionamento de dados e índices.
Módulo 08: Gerenciamento de concorrência – propriedades ACID , bloqueios (tipos, duração, granularidade e escalação), níveis de isolamento, deadlocks, estrutura interna (blocos e donos), deadlocks e versionamento de registros.
Módulo 09: Cache de planos – consultas adhoc e procedimentos, funcionamento e internals, problemas e benefícios, parametrização (sniffing, optimize for), recompilação e plan guides.

Estou com uma mega dúvida se vai dar tempo de cobrirmos também de forma detalhada o query optimizer, pois é um tópico complexo. Nesse momento eu deixei de fora para um futuro treinamento de tuning, mas quem sabe eu não mudo de idéia?

[]s
Luciano Caixeta Moreira - {Luti}
Chief Innovation Officer
Sr. Nimbus Serviços em Tecnologia Ltda
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm

3 comentários:

  1. Ae Luti,
    Venha para Curitiba com o curso (:
    Eu gostaria de assistir, mas ir para sampa é complicado..
    Abraço!

    ResponderExcluir
  2. O conteudo desse curso é espetacular...
    Ele vai acontecer mesmo ou ainda está em analise?

    ResponderExcluir
  3. Estamos vendo se conseguimos o número mínimo de alunos para fechar a turma, se quiser confirmar sua presença vai nos ajudar a garantir o treinamento.

    []s
    Luti

    ResponderExcluir