A modelagem de dados física implementa o modelo lógico em tabelas reais, com foco na otimização do desempenho, incluindo eficiência de armazenamento, particionamento e design de índices.
Consultas lentas (slow query), índices e cache são usados para resolver problemas de desempenho e, se necessário, a estrutura da tabela é modificada por meio de desnormalização.
A normalização pode sacrificar o desempenho de leitura em prol da facilidade de escrita, portanto, a desnormalização deve ser realizada com cuidado após a identificação do problema.
Se o modelagem de dados lógica era a tarefa de criar as tabelas ideais adequadas para um banco de dados relacional, a modelagem de dados física inclui a tarefa de transformar as tabelas ideais em tabelas reais para uso, além de considerar o uso eficiente do espaço de armazenamento, o projeto de particionamento de objetos e o projeto de índice ideal, com foco em melhoria de desempenho e otimização.
O método para encontrar consultas lentas (slow query) que causam gargalos durante a operação do serviço varia dependendo do tipo de DBMS econsultas lentas (slow query)deve ser pesquisado usando a palavra-chave.
Coisas a serem consideradas para desempenho
Encontrando Consultas Lentas (Slow Query)
Uma consulta lenta é uma consulta que o DBMS não conseguiu executar dentro de um determinado período de tempo após recebê-la.
Encontre consultas lentas que estão causando gargalos, determine o problema e resolva-o.
Índice (Index)
O índice melhora drasticamente o desempenho de leitura para linhas.
No entanto, reduz o desempenho de gravação e usa mais espaço de armazenamento.
Cache (Cache)
Uma forma de reduzir a carga do banco de dados no nível do aplicativo
É um método que armazena em cache as respostas a solicitações de entrada idênticas e responde a elas.
Se o problema de desempenho não for resolvido pelos métodos acima, uma operação chamada desnormalização ou denormalização é realizada.
É corrigir a estrutura da tabela por meio de cirurgia.
Trade-off de Normalização
A normalização é como renunciar ao desempenho de leitura em troca da conveniência da operação de gravação. Quando a normalização é realizada, uma consulta que junta os dados das tabelas divididas em várias partes precisa ser escrita.
No entanto, a normalização nem sempre diminui o desempenho, portanto, antes de realizar a desnormalização, é necessário entender e analisar corretamente o problema.
O link abaixo é um bom artigo que discute a desnormalizaçãoque será discutida no futuro.