Acelerar ou limitar recursos usados por um usuário em um banco de dados?

1

Gostaria de saber como os bancos de dados (como o MySQL) são capazes de gerenciar recursos por usuário (como o Oracle Database Resource Manager) para ter usuários que só podem obter recursos apenas quando o banco de dados estiver ocioso.
link

    
por Eduardo 19.03.2010 / 08:11

2 respostas

1

O MySQL, até onde eu sei, não tem como limitar artificialmente o uso de recursos por um usuário.

Geralmente, você não limita o acesso / consultas ao banco de dados diretamente, se quiser oferecer diferentes níveis de serviço aos clientes que fizer em outro nível (por exemplo, limitar o número de processos respondendo a solicitações da Web, isso limitará indiretamente o uso de recursos em toda a infra-estrutura de back-end).

Os usuários que fazem uso excessivo de um sistema compartilhado até o ponto de criar problemas para outros usuários geralmente são detectados por outros meios (por exemplo, o monitoramento do sistema alertará você sobre um sistema que não responde) e serão mortos manualmente. Mas isso não é "agendamento" regular de operações normais, é a detecção e resposta a problemas.

    
por 05.08.2010 / 19:07
0

Depende.

O Oracle possui um gerenciador de recursos. O SQL Server também tem um (obteve um em 2008). Outros (mySQL) não.

como eles funcionam? Como todo planejador. Basicamente, eles medem os contadores de desempenho e, se um usuário / banco de dados ultrapassar o limite alocado, suas consultas ficam mais lentas (piora inferior, normalmente) em comparação com o restante.

Observe que "o banco de dados está mais ocioso" é REALMENTE uma questão complicada para bancos de dados. o que você fala? IO? CPU? Várias consultas têm vários gargalos.

    
por 19.03.2010 / 08:20