Resumo do relatório “Como se tornar um especialista legal em banco de dados” (HL2018, Data Egret, Ilya Kosmodemyansky)

As primeiras notas de aula com o HighLoad foram recebidas positivamente, então continuo.

Ele escolheu um material interessante como segunda palestra, que encontrou uma resposta tanto na sinopse quanto no salão. Na minha opinião, este relatório pode ser do interesse de todos, especialmente dos especialistas iniciantes.

O relatório abordou os seguintes problemas:

  • O que exatamente queremos nos tornar?
  • Nós precisamos disso?
  • Habilidades teóricas
  • Habilidades práticas (técnicas)
  • Competências práticas (não técnicas)

imagem

Um banco de dados é uma coisa simples, e as pessoas são complicadas; portanto, os conselhos podem não ser adequados para todos.

Ele não seguiu todas as dicas.

Mapa de habilidades hoje (amanhã pode mudar):

imagem

Qualquer função é útil para ter habilidades de áreas vizinhas.

Nuvens foram adicionadas recentemente. Eles acrescentam uma área de responsabilidade pelo orçamento.

Nós precisamos disso?


  • Definitivamente não será chato. DB é interessante.
  • Enquanto houver dados, haverá bases. Eles podem se tornar diferentes, mas certamente serão.
  • DBA - como um encanador, mas quente e atrás do teclado.

É quase impossível obter uma boa educação de perfil. Não existe essa educação. Mas existem universidades que ensinam isso bem. Mas saindo da universidade, você não se tornará um especialista.

Você precisa aprender rapidamente diferentes profissões.

Tarefas a serem resolvidas rapidamente (exame em um mundo ideal no dba):

  • Corrija a base pelo tempo (visto pela primeira vez). Qual o problema não está claro, mas tudo "diminui a velocidade"
  • Examinadores 10 e, de preferência, 20 a 30
  • 3 pergunte com folga "como"
  • Mais três por telefone
  • 1 requer reservar tempo
  • 3 introduzam o scrum agora :) (um momento de humor)

Conhecimento básico necessário (teoria):


  • Álgebra relacional (mínimo, não mais que 40 horas para estudar)
  • Árvore B em diferentes tipos e formas (conhecimento profundo é necessário apenas se a tarefa for gravar seu próprio banco de dados)

Um bom livro introdutório: Novikov, Dombrowski, configurando aplicativos de banco de dados .

A linha inferior : Sub é uma estrutura que permite trabalhar com dados:
  • Universalmente
  • Confiável
  • Produtivamente

(!) Como funciona - você precisa conhecer bem.

Competências técnicas práticas (!) (Importante e necessário)


  • Controle de simultaneidade
    • Bloqueio de 2 fases
    • Detecção de deadlock
    • Controle de simultaneidade em várias versões

  • Recuperação
    • Gravar registro antecipado
    • Refazer
    • Desfazer

  • Transações distribuídas
    • Confirmação de 2 fases
    • Recuperação distribuída


Leia a Wikipedia mínima. Melhor livro - G. Weikum, G. Vossen, Sistemas Informacionais Tranacionais: Teoria, Algoritmos e a Prática de Controle e Recuperação de Concorrências.
Se for difícil, pela primeira vez você não pode ler sobre objetos e estruturas de pesquisa. Então releia.

Armadilhas


  • Não confunda 2pl e 2pc (bloqueio bifásico e confirmação bifásico).
  • Não contraste 2pl e mvcc.
  • Esses são algoritmos pessimistas de sheduling de transações - eles são os mais comuns, mas o mundo não se limita a eles.

Desmaiou de ler livros e ler documentação. Os livros de boas práticas são poucos, raros e curtos, atualizados.

Como ler a documentação?


Se você ler a documentação de cada parâmetro de configuração pelo menos uma vez (por exemplo, postgresql.conf, etc.), ficará muito mais legal. Isso se aplica a qualquer banco de dados.
A recomendação é adquirir um servidor de teste e experimentar como diferentes parâmetros o afetam.

Como resolver problemas


  • Mantenha a calma ( mantenha a calma! )
  • Procurando um motivo: não ajuste a consulta / conheça seus dados! - Pensamos em como o pedido é organizado, mas não tentamos resolvê-lo “na testa”
  • Aprenda ( com antecedência ) ferramentas de diagnóstico (superior, iostat, perf, etc.)
  • Escreva post mortem!

Competências não técnicas práticas:


  • Aprenda a falar, escrever e ler russo e inglês
  • Faça apresentações, ensine colegas, fale em reuniões, vá em Highload!
  • Aprenda a se comunicar com os desenvolvedores (e não apenas com eles)

Aprenda a fazer tudo isso ao mesmo tempo.

Source: https://habr.com/ru/post/pt429508/


All Articles