Olá, pesesoal,

Tenho nível de conhecimento apenas operacional (instalação,
configuração básica, ...) de Oracle, mas agora estou participando de
um projeto em que não existe um DBA e precisamos resolver um problema
de performance de uma aplicação, a qual está sendo migrada para um
novo servidor. Estou sendo responsável por montar a arquitetura da
solução, mas estou bastante inseguro se o que estou propondo pode ou
não ajudar a melhorar a performance do lado da Infra-estrutura. (o
pessoal de desenvolvimento já fez todo o tuning sql possível, o
problema tem sido realmente IO em excesso para a máquina que não
suportava).

A nova solução compreende um hw comprado pelo cliente, um Servidor
Dell com 4 HDs de 165 Gb e provavelmente uma controladora RAID, não
tenho acesso de que máquina específica estamos tratando, então
trabalho com essa suposição.

Abaixo descrevo como pretendo montar a arquitetura desse servidor, por
favor, gostaria que comentassem se a idéia que tenho está correta e se
algo mais pode ajudar. 

- RAID 5

Estou pensando em dispor os 4 HDs no esquema de RAID 5, pois acredito
que esse tem um ótimo custo benefício, tendo redundância (segurança
também é um requisito), e aumentando as taxas de leitura pelo
paralelismo, já que os dados estarão distribuídos nos 4 discos. Mas e
quanto as operações de escrita? Existe um overhead por causa da
paridade ou isso tem pouco impacto?

- LVM

Já considerando que tenho um RAID 5, existe alguma vantagem em
distribuir os datafiles em diferentes volumes lógicos num VG? Por
exemplo: além das partições do SO, poderia ter particionado /LVdata1
/LVdata2 e /LVdata3, cada um tendo uma parcela dos datafiles do banco.
Eu sei que isso pode me aumentar a segurança caso tenha um LV
corrompido ou se houver um erro na aplicação e essa começar a escrever
indiscriminadamente no datafile que encheria a partição. Se tive
apenas uma partição, nesse caso, com certeza todo o sistema estaria
comprometido, certo? Mas e quanto a performance, há algum ganho/perda
de desempenho em se utilizar LVM?

- ÍNDICES

Outro ponto diz respeito aos arquivos de índices, que no caso dessa
aplicação são enormes. Existe alguma best practice quanto a eles?
Deveria deixá-los num LV a parte?

- PARTITIONING

Essa foi uma sugestão dos DBAs do cliente, existe uma tabela que pode
ser facilmente particionada pelo campo mês. A minha dúvida aí reside
se nesse esquema de particionamento são criados vários arquivos, um
pra cada partição, ou se tudo se resume a um datafile. Se forem vários
arquivos, tenho vantagem em distribuí-los pelos diferentes LVs? (Se
não fosse usar RAID 5, a pergunta seria: teria vantagem em
distribuí-los nos vários discos?)

Qualquer idéia ou comentário será muito  bem-vindo !!!

Obrigado, 



Responder a