Mostrando postagens com marcador database. Mostrar todas as postagens
Mostrando postagens com marcador database. Mostrar todas as postagens

quarta-feira, 2 de maio de 2007

Até que ponto a flexibilidade é boa?

Atualmente estou com um projeto que "herdei" assim que entrei na empresa. O projeto tem algumas coisinhas bacaninhas, uma delas é um wizard onde o usuário monta as consultas no banco de dados, fazendo assim com que tenha uma grande flexibilidade a aplicação, porque seu uso basicamente consiste em consultar informações "coletadas".
Esta flexibilidade faz com que cada setor que comece a usar a aplicação, tenha a possibilidade de suprir suas necessidades criando as consultas que satisfazem suas necessidades diárias de informações. Porém, nem tudo são flores na vida de Joseph Klimber.... =)
Atualmente estamos com um sério problema que é a alta carga de processamento e alto "I/O Wait" no servidor. Isto é ocasionado pela fragmentação do banco de dados, mas principalmente por queries mal feitas. Porque? Porque estas queries são geradas por um wizard, e normalmente as queries não retornam menos de 10mil registros, então, juntando estas queries com a fragmentação da base, nos temos um alto I/O.
Como eu sou um cara eficaz (eficiente ou eficaz? essa é pro pessoal da wise), peguei as queries do sistema e tentei dar um trato, "tunnando" o que dava, porém cheguei na parte das queries pesadas do banco de dados, que eram aquelas consultas. Então me deparei com o problema que é o seguinte, como vou "tunnar" uma query que muda a toda hora? E mesmo que consiga estas principais, como ficarão as outras novas assim que o suporte acabar!?
Este foi um exemplo para que eu pudesse chegar ao ponto que queria, que é: Até onde flexibilidade realmente ajuda?
Deixar o usuário fazer o que quizer, ou deixar a aplicação "redondinha"? Por enquanto ainda acho que as duas coisas são inversamente proporcionais.
O que acha você?