Devo admitir que a pergunta é bastante ampla, então vou tentar reduzi-la um pouco. Em nossa empresa, somos de 3 a 4 desenvolvedores e temos algumas instalações baseadas em SQL Server em execução nos sites de nossos clientes (tamanhos de banco de dados de até 100 GB, até 100 usuários simultâneos, aplicativos de intranet). Ninguém de nós tem uma boa experiência real na execução / manutenção / administração de bancos de dados (o que seja). Os clientes nem tanto. Está funcionando bem até agora, mas não posso dizer com certeza se é porque estamos fazendo tudo certo ou se simplesmente não atingimos áreas / situações em que não somos proficientes.
Então, estou procurando as coisas essenciais que você precisa saber ao executar um banco de dados do ponto de vista de um DBA . Você conhece os fatos concretos e sabe o que mais importa no seu dia-a-dia.
Em quais assuntos devo reunir um conhecimento mais profundo, sobre o que devo ter ouvido e com o que devo me preocupar até enfrentar pela primeira vez?
Estou ciente da questão Engenheiros de software e DBAs , mas não é exatamente o que eu estava procurando. Também existem muitos livros, mas eu gostaria de ouvi-lo daqueles com experiência prática.
fonte
Respostas:
Estou inclinado a concordar com o @Catcall, a recuperação do banco de dados deve estar no topo da lista. As implicações das opções de backup e recuperação são geralmente as mais mal compreendidas fora de uma equipe de DBA e as mais prováveis de resultar em desastre.
Em seguida, de uma perspectiva independente de banco de dados, é uma compreensão do que um servidor de banco de dados é criado para fazer; forneça Atomicidade, Consistência, Isolamento e Durabilidade às suas transações e dados. Geralmente incompreendido, freqüentemente a causa de problemas de desempenho e a principal fonte de inconsistência dos dados.
Para a sua plataforma escolhida, entre em detalhes sobre como a conformidade com o ACID é implementada. Procure tópicos como o que o log de transações faz, o que é o write-ahead-log , os níveis de isolamento e os internos de armazenamento . A compreensão dos principais aspectos internos do banco de dados facilita muito a compreensão de outros aspectos do trabalho do DBA, ajuste de desempenho e gerenciamento de recursos.
fonte
As duas coisas com as quais lido todos os dias.
Recuperação de desastres.
Ajuste de desempenho. (Tanto para consultas individuais quanto para os dbms em si.)
Seu plano de recuperação de desastre precisa ser
Estou usando scripts no sentido de algo que um ator seguiria, não algo escrito em Python. Deve dizer a todos que precisam se envolver exatamente o que fazer. (E muitas vezes, exatamente o que dizer também.)
O ajuste de desempenho para consultas inclui o entendimento de chaves, índices e normalização. (Geralmente, os problemas de "ajuste" são na verdade problemas estruturais.)
fonte