Não coloque Redo Logs em SSD

Os discos SSD (Solid State Drives) são realmente uma grande mudança para os Bancos de Dados.

Mas a primeira das Melhores Práticas para uso de SSD em Oracle Database que nos vem a mente é: coloque seus Redo Logs em SSD. Uma das razões para esta prática é que geralmente seu tamanho é pequeno, em relação ao restante do Banco de Dados. A outra razão e a mais importante, é o desempenho superior.

Mas uma diferença fundamental da arquitetura dos SSDs x HDDs (Hard Disk Drives), é que os SSD nunca alteram um bloco de dados: ele só gravam em um bloco vazio. Se um bloco precisa ser realmente alterado, o novo dado é gravado em um bloco vazio do SSD, e depois, o bloco do dado antigo é invalidado por um processo de Garbage Collection. Esta diferença na operação acontece no hardware, e é transparente para o Sistema Operacional / Sistema de Arquivos.

Levando-se em conta esta peculiaridade da implementação, pode-se supor que quanto maior a taxa de alteração de blocos, maior é a necessidade da invocação do GC pelo algoritmo interno do SSD. E também podemos concluir que quanto menor o espaço livre do SSD, maior também é a frequência de execuções do GC.

Seguindo com este raciocínio, o pior item de seu Banco de Dados que pode ser colocado em SSDs são aqueles que sofrem maior alteração de blocos. Ora, é isto que são os os Redo Logs, blocos que são sobrescritos sempre, e o tempo todo.

Ah Portilho, mas eu coloquei meus Redo Logs em SSD aqui e está ótimo. Ok, para sua carga e seu hardware, você ainda não atingiu este gargalo. Mas com o crescimento suficiente, poderá atingi-lo.

Sugiro fortemente a leitura desta sequência de artigos do Guy Harrison a respeito, onde esta teoria é provada. Aliás, nestes artigos também é provado que para leituras, o SSD dá sim uma boa surra no HDD. Então o melhor a fazer é encontrar seus Segmentos quentes em leitura (Segments by Logical Reads, no AWR), e colocá-los em uma TABLESPACE separada em SSD.

Evaluating the options for Exploiting SSD

Using flash disk for Redo on Exadata

Using SSD for redo on Exadata – pt 2

Redo on SSD: effect of redo size (Exadata)

RedoLogOnFlash01

RedoLogOnFlash02

6 comments

  1. Boa noite,
    Tenho 2 hds em raid 0 com windows server instalado que vai rodar aplicações em web (iss) que utilizam banco oracle.
    Posso instalar e rodar o banco dessas aplicações (banco oracle 11g) em um SSD nesse mesmo servidor? Ficaria windows server e aplicações web iss no hd e somente banco oracle no ssd?

    1. Não entendi bem.
      – Você quis dizer que tem dois Volumes, um deles com 2 HDs (não SSD) em RAID e outro com um único SSD?
      – RAID 0 significa proteção ZERO, é isto mesmo que está configurado, e é o que você quer?
      – Não há prejuízo em colocar o Banco em SSD. Só não há “lucro” em colocar os REDO LOGs em SSD.

      1. Atualmente tenho um volume com dois HDs. Eles estão espelhados com RAID 1 (me equívoquei antes).
        Nele está instalado S.O. Windows Server e irá ter as aplicações do ERP em IIS.
        Porém essas aplicações utilizam Banco Oracle 11g, no qual eu gostaria de instalar e deixar funcionando em outra unidade, no caso SSD.
        Porém não sei se consegue-se instalar e configurar o Oracle em outra unidade da que está o S.O.

          1. Mais uma dúvida Ricardo,
            Existe possíveis problemas em instalar 02 unidades, pois no caso pensei em utilizar dois SSD Samsung 970 EVO Plus 1TB, M.2 NVM e antes de instalar o Oracle, deixar as 02 unidades SSD em Raid 1 através de ferramenta do próprio Windows.) Assim quando for instalar, constará apenas uma unidade, para evitar possível parada.

            Sendo assim, o cenário seria 2 HDs com S.O. e aplicações, em raid 1 (espelhados).
            E dois SSD somente com o banco, em raid 1 (espelhados).

            Ve algum problema nisso?

          2. Não vejo problema, está melhor (na verdade, menos pior) pois o Volume do Banco está em RAID 1.

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.