Na Oracle Open World San Francisco 2012 ocorreu o lançamento do Exadata X3, estive acompanhando durante estes dias as novidades e fiz um resumo do que podemos encontrar nesta nova versão. Infelizmente não tive a mesma sorte que o Rodrigo Almeida e o Vinicius que estiveram presentes no evento em São Francisco, mas os documentos liberados pela Oracle estão cheios de informação.
Primeiramente, não podemos pensar no Exadata X3 somente como uma atualização de hardware, ocorreram mudanças significativas no software também. Então, além de um hardware novo temos um software atualizado no Exadata X3.
Hardware
Começando pelo hardware, temos uma nova classe de servidores para DBNodes e Storage Nodes. A Oracle trocou a nomenclatura de seus servidores e agora são chamados de X3, uma comparação entre as versões antigas e novas pode ser encontrada neste link
As principais mudanças que podem ser destacadas para os DBNodes X3-2 são:
- Nova família de processadores Intel (Xeon E5-2600).
- Aumento na quantidade de memória inicial, agora partindo de 128GB expansíveis para 256GB.
- Aumento do número de DIMMs disponíveis para memória.
- Disponibilidade de conexão de rede on-board de 10GB.
- PCI Bus de 3.0.
Os ganhos do hardware X3 sobre o X2 podem ser vistos na figura abaixo.
Como foi destacado pela Oracle, a mudança na família de processadores é importante pois atualiza a microarquitetura destes. Assim, se observarmos os processadores da versão X2 eles são mais rápidos (considerando o clock) que os da X3, mas aguentam uma carga menor de trabalho. Outro detalhe importante é o aumento da memória disponível, o Exadata X3 é chamado pela Oracle de Database In Memory (explicarei detalhes mais a frente), assim a necessidade por memória aumentou. Quanto ao PCI Bus ser de 3.0 ainda não temos vantagem no uso deste, pois as placas de Infiniband ligadas a este barramento ainda usam a versão PCI Bus 2.0. Segundo a Oracle isso será atualizado no futuro.
Para o X3-8 não houveram mudanças, pois eles foram atualizados em janeiro de 2012. Eles já receberam as mudanças agora presentes no X3-2. Para ambos X3-2 e X3-8, ouve uma diminuição no consumo de energia, na ordem de 10% a 30%.
Para o StorageNode temos mudanças significativas no hardware:
- Novos processadores, nova família de processadores Intel (agora six-core).
- Aumento na quantidade de memória.
- Aumento na capacidade do flash em 4x.
- PCI Bus 3.0.
Novamente, temos uma imagem que reflete a diferença entre o hardware dos Storage Nodes da Exadata X2 e do Exadata X3.
Alguns detalhes importantes aqui, a atualização dos processadores não buscou os mais rápidos, mas sim aqueles que tem maior capacidade de processamento (aguentar mais carga). Uma analogia feita pela Oracle é a comparação com processadores gráficos, onde nem sempre a velocidade é importante, mas sim a capacidade de lidar com grande carga de trabalho.
O aumento da memória também está relacionado ao Database in Memory, mas é menos (bem menos) significativa que o aumento dos DBNodes. Quanto aos discos não foram feitas mudanças, pois eles já tinham sido atualizados em Janeiro de 2012. Um detalhe importante é que não houve modificação da controladora de disco, é a mesma encontrada no X2. Assim espera-se uma atualização desta para tirar vantagem do novo barramento PCI. Isso inclui também as placas Infiniband, que continuam com o barramento PCI Bus 2.0.
A mudança mais significativa para os Storage Nodes é com a placa flash. Agora o Exadata X3 utiliza o modelo F40, com isso temos:
- Aumento do IOP’s, chegando agora na casa do 1 Milhão.
- Aumento no throughput de escritas e leituras.
- Aumento no desempenho do flash, passando de 75GB/s para 100GB/s.
Como pode ser observado, a mudança mais significativa ocorreu com o flash no Exadata X3. Agora com a versão F40 temos o dobro de capacidade de IOP’s, chegando a 1 Milhão, e um aumento no desempenho, passando agora para 100GB/s.
Um ponto a ser destacado é a capacidade da versão F40 conseguir ler e escrever a tabela na flash com um só acesso de disco. Na versão F20 presente no Exadata X2/V2 isso não era possível, pois a escrita em flash era mais lenta que a leitura sequencial do disco. Isso causava um gargalo e forçava mais de uma leitura de disco para colocar a tabela na flashcache. Alguns detalhes podem ser observados na imagem abaixo.
Outros detalhes no hardware do Exadata X3 foram a remoção do KVM e redução no consumo de energia (agora faz mais com menos). Quanto ao KVM, agora só ILOM para acesso ao console dos servidores (não sei como isso ficará em ambientes com acesso mais restrito). Como citado as controladoras de disco permanecem as mesmas, bem como as placas Infiniband.
Exadata Software
Como destaquei, a atualização do Exadata para o X3 não foi somente de hardware mas de software também. O Exadata Software homologado para o Exadata X3 começa com a versão 11.2.3.2.0, sendo que as principais melhorias são:
- Write-Back para escritas.
- IORM.
- Controle de discos falhos melhorado.
Uma mudança significativa na nova versão do Exadata Software é o write-back para escritas. O write-back funciona de forma semelhante ao smart flash logging, assim as escritas de I/O ocorrem primeiro no flash ao invés de irem primeiramente ao disco. Assim, o throughput de escrita é muito maior.
Alguns detalhes importantes do write-back, primeiramente ele não vem habilitado por padrão, sendo necessário habilitar através do comando “ALTER CELL flashCacheMode=WriteBack”. Recomenda-se utilizar o write-back em ambientes que tenham gargalo de I/O, principalmente (mas não exclusivamente) de escrita. Para detectar se existe um gargalo de escrita basta verificar a estatística “free buffer waits”, quanto maior pior. Além disso, estatísticas que revelam alta latência para I/O podem indicar gargalos de escrita. Como citado, não podemos levar em consideração somente gargalos de escrita, ao habilitarmos o write-back podemos ter um ganho nas leituras, pois o CPU o Storage Cell fica livre para conseguir lidar com mais requisições de leitura.
Outro ponto é que o write-back não necessita de tunning, na realidade ainda não vi como pode ser controlado. Talvez exista a possibilidade de fazer com que categorias ou consumer groups do IORM não passem pelo write-back, mas como ainda não temos uma documentação mais completa não sei dizer o que podemos fazer. O write-back poderá ser acompanhado através de estatísticas de banco como a “physical write requests optimized” (estatística que será adicionada na 11.2.0.4). Atualmente as escritas são coletadas na estatística “physical read requests optimized”, mas a Oracle pede cuidado por não refletir somente as escritas. Além disso, escritas oriundas de funções como backup e datapump não vão para o flash (a Oracle chama de smart caching), e o smart flash log ainda é necessário por ele utilizar métodos diferentes para a escrita (como o uso das memórias DRAM dos discos e suas controladoras).
A imagem abaixo sumariza o write-back.
Uma outra mudança interessante nesta nova versão é que o IORM vem habilitado por padrão. Mas é uma versão simplificada deste, utilizada para garantir que a latência dos acessos sejam mais homogêneas entre os discos em ambientes com múltiplas cargas de smart scan.
Também foi melhorada a gerência sobre os discos falhos, alguns controles foram tomados quando o disco está em processo de rebuild. Com isso, alguns problemas como acesso ao disco durante o rebuild ou remoção são evitados por serem direcionados ao seu mirror. Também foi adicionado o controle para saber se o disco pode ser removido, assim caso ele não esteja mais em uso por nenhum grupo um led azul indica que ele pode ser removido com segurança.
Para os DBNodes tivemos um acréscimo na quantidade de espaço disponível para o filesystem. Isso foi possível, pois a configuração do RAID foi modificada e agora usa o disco de spare (ainda continua com RAID 5).
Para ambos, DBNodes e Storage Nodes o Linux passa a ser a UEK1, assim temos um kernel Enterprise level da Oracle. Como iniciado na versão 11.2.3.1.0 a atualização passa a ser através da ULN, escrevi recentemente dois posts relatando o processo de atualização para tal versão, veja aqui e aqui.
Agora ao desligarmos uma célula específica somos avisados (e impedidos) caso esta ainda faça parte de um diskgroup e a sua remoção possa desativar o mesmo. Assim, evitamos desligamentos indesejados ou equivocados (claro que temos o comando FORCE para dar uma ajuda).
Eighth Rack
Resumidamente o Eighth Rack é uma nova versão de entrada ao universo Exadata. Esta é uma versão simplificada do Exadata, com menos CPU e memória. Assim, temos somente dois DBNodes e três Storage Nodes com configurações semelhantes a um Exadata X2 (no que diz respeito a flash). O Eighth Rack pode ser utilizado como entrada ou até mesmo disaster recovery. Ele custa menos se comparado com o Quarter Rack X3-2 e é um ótimo ponto de partida.
Considerações
Somando todas estas novidades, tanto de hardware e software temos o que a Oracle chamada de Database In Memory. Onde as mudanças como aumento de memória (podendo chegar até 4TB em um full rack), CPU’s mais poderosos, aumento de IOP’s (de 500 mill para 1 milhão), placas flash F40 com 100GB/s de throughput, write-back de escrita, e novas versões de binários Oracle permitem que os dados acessados pelo usuário sejam mantidos na memória ou em flash. Assim, no Exadata X3 temos os dados mais acessados do usuário (ou até mesmo o banco todo) rodando completamente em memória DRAM ou flash.
Claro que isso depende do tamanho da base do usuário, mas em um ambiente onde temos um aumento significativo de memória DRAM e de flash (4 vezes mais só aqui) somado ao uso de HCC podemos sim ter dados que nunca irão “encostar” nos discos. Portanto, o Exadata X3 não é somente um hardware novo, é um novo conjunto de hardware e software.
Para aqueles como eu que utilizam um V2 ou X2 boas novas, todas as novas funcionalidades do Exadata Software estão disponíveis, basta atualizar o software. Claro que não teremos todo o ganho de desempenho do hardware novo, mas estaremos utilizando o mais moderno software Oracle.
Pelo que observei a versão 11.2.3.2.0 do Exadata Software foi liberada no dia 05 de outubro, mas a documentação ainda não foi atualizada (como o user-guide). Ainda quero ver como o write-back será integrado ao IORM e como podemos acompanhá-lo nas métricas do cellcli. De qualquer forma foi um grande lançamento da Oracle.
Por fim, as imagens presentes neste post foram retiradas do vídeo “Screencast – Technical Overview of Oracle Exadata X3 versus X2” presente neste link. Boa parte das referências deste texto estão também neste mesmo vídeo e dos documentos liberados até o momento pela Oracle. Recomendo a leitura dos seguintes documentos e sites:
- http://www.oracle.com/us/corporate/press/1855412
- http://www.oracle.com/us/products/database/exadata/overview/index.html
- http://www.oracle.com/technetwork/server-storage/engineered-systems/exadata/index.html
- http://www.oracle.com/technetwork/server-storage/engineered-systems/exadata/exadata-dbmachine-x3-2-ds-1855384.pd
- http://www.oracle.com/technetwork/server-storage/engineered-systems/exadata/exadata-dbmachine-x3-8-ds-1855388.pdf
- http://www.oracle.com/technetwork/server-storage/engineered-systems/exadata/exadata-storage-technical-overview-128045.pdf
- http://www.oracle.com/us/products/servers-storage/servers/x86/external-faq-x3-2-1686475.pdf
- http://www.oracle.com/us/products/database/exadata-db-machine-x3-2-1851253.pdf
- http://www.oracle.com/us/products/database/exadata-db-machine-x3-8-1851252.pdf
- http://www.oracle.com/us/products/database/exadata-storage-server-1851255.pdf
- http://www.rodrigoalmeida.net/blog/novidades-oracle-exadata-x3-2-x3-8
Pingback: Exadata X5 | Have you hugged your backup today?
Pingback: [Exadata] Exadata X5 | Certificação BD
Pingback: Exadata X5