Armazenamento de banco de dados
A maioria dos usuários geralmente usa o Amazon EBS para armazenamento de banco de dados. Para algumas arquiteturas de alta performance, você pode usar SSDs de armazenamento de instâncias, mas elas devem ser ampliadas com o armazenamento do Amazon EBS para oferecer uma persistência confiável.
Para IOPS e performance de banco de dados altas e consistentes, a AWS recomenda o uso de volumes de uso geral (GP2) ou volumes de IOPS provisionadas (PIOPS). Os volumes GP2 e PIOPS estão disponíveis para o Amazon EC2 e o Amazon RDS. Consulte Armazenamento de instâncias de banco de dados do Amazon RDS para obter os limites mais recentes de IOPS por volume para os tipos de volume GP2 e PIOPS. Os volumes GP2 fornecem um excelente equilíbrio entre preço e performance para a maioria das necessidades de banco de dados. Quando seu banco de dados exige IOPS mais altas do que o GP2 pode fornecer, os volumes PIOPS são a escolha certa.
Para volumes PIOPS, você especifica uma taxa de IOPS ao criar o volume, e o Amazon EBS entrega até 10% da performance de IOPS provisionadas em 99,9% do tempo em determinado ano. A proporção entre as IOPS provisionadas e o tamanho do volume solicitado pode ser no máximo 30. Por exemplo, para obter 3.000 IOPS, o tamanho do volume deve ser pelo menos 100 GB.
Semelhante aos volumes PIOPS, os volumes GP2 também são baseados em SSD, mas as IOPS obtidas dos volumes GP2 podem variar das IOPS de referência até um máximo de 3.000 IOPS por volume com capacidade de intermitência. Isso funciona muito bem para a maioria das workloads de banco de dados porque a performance de IOPS que o banco de dados requer varia muitas vezes durante um período com base no tamanho da carga e no número de consultas executadas.
A performance do volume (SSD) de uso geral é determinada pelo tamanho do volume, que dita o nível de performance de base do volume e a velocidade com que ele acumula créditos de E/S. Os volumes maiores apresentam níveis de performance de base mais altos e acumulam créditos de E/S mais rápido.
Os créditos de E/S representam a largura de banda disponível que seu volume (SSD) de uso geral pode usar para liberar grandes quantidades de E/S quando for necessário um nível de performance de base mais alto. Quanto mais créditos seu volume tiver para E/S, por mais tempo ele conseguirá ultrapassar o nível de performance de base e melhor será a performance quando isso for necessário.
Os volumes de HDD otimizados para taxa de transferência (st1) são volumes de baixo custo projetados para workloads intensas que exigem menos IOPS, mas uma alta taxa de transferência. Os bancos de dados Oracle usados para data warehouses e análise de dados podem utilizar os volumes st1.
Quaisquer áreas de preparação de dados e processamento de logs, como tabelas externas do Oracle ou armazenamento BLOB externo, que exijam alta taxa de transferência podem utilizar os volumes st1. Os volumes otimizados para taxa de transferência (st1) podem processar no máximo 500 IOPS por volume.
Os volumes HDD frios (sc1) são adequados para lidar com sistemas herdados, que são mantidos para consultas ocasionais ou finalidades de arquivo. Esses sistemas são acessados com menor frequência e poucas verificações são realizadas por dia no volume.
Uma boa abordagem é estimar a quantidade de IOPS que seu banco de dados regularmente requer e alocar armazenamento GP2 suficiente para obter esse número de IOPS. Qualquer quantidade adicional de IOPS necessária para picos periódicos deve ser atendida pela performance de intermitência com base nos créditos disponíveis.
Para obter informações sobre métodos de estimativa que você pode usar para determinar as necessidades de IOPS do Oracle Database, consulte o whitepaper Determining the IOPS Needs for Oracle Database on AWS
A duração da intermitência de um volume depende do tamanho do volume, da quantidade de IOPS de intermitência necessária e do equilíbrio de crédito quando a intermitência iniciar. Caso você perceba que a performance de seu volume fica frequentemente restrita ao nível de base (devido a um saldo de crédito de E/S vazio), considere a possibilidade de usar um volume (SSD) de uso geral maior (com um nível de performance de base mais alto) ou trocar para um volume (SSD) de IOPS provisionadas para workloads que exigem uma performance constante de IOPS superior a 10.000 IOPS. Para obter outros detalhes adicionais sobre os volumes GP2, consulte Tipos de volume do Amazon EBS.
Para Amazon RDS, o armazenamento (SSD) de uso geral oferece uma referência estável de 3 IOPS por GB provisionado e uma capacidade de intermitência de até 3.000 IOPS. Se você já estiver usando armazenamento magnético para o Amazon RDS, poderá trocar para o armazenamento (SSD) de uso geral, mas enfrentará um pequeno impacto na disponibilidade ao fazê-lo. Usando IOPS provisionadas, você pode provisionar até o limite máximo atual de armazenamento e o máximo de IOPS por instância de banco de dados.
As IOPS reais obtidas podem ser diferentes da quantidade provisionada, dependendo da workload do banco de dados, do tipo de instância e do mecanismo de banco de dados. Para obter mais informações, consulte os fatores que afetam as taxas de IOPS realizadas no Guia do usuário do Amazon RDS.
Para o Oracle Database no Amazon EC2, distribua vários volumes para obter mais IOPS e maior capacidade. Você pode usar vários volumes do Amazon EBS individualmente para diferentes arquivos de dados, mas distribuí-los melhora o balanceamento e a escalabilidade.
O Oracle Automatic Storage Management (ASM) pode ser usado para distribuição. Mantenha arquivos de dados, arquivos de log e binários em volumes separados do Amazon EBS e faça snapshots de volumes de arquivos de log regularmente. A escolha de um tipo de instância com armazenamento SSD local permite aumentar a performance do banco de dados por meio do Smart Flash Cache (se o sistema operacional for o Oracle Linux) e do armazenamento local de arquivos temporários e espaços de tabela.
Para o Oracle Database no VMware Cloud on AWS, o vSAN fornece o armazenamento virtualizado necessário, que é distribuído entre os hosts bare metal. O recurso de armazenamento virtualizado do vSAN pode ser usado no Oracle RAC para armazenamento compartilhado de alta performance.
Para os arquivos VMDK (disco de máquina virtual) criados para o Oracle RAC, é necessário utilizar o provisionamento thick eager zeroed e habilitar o sinalizador de vários gravadores. A VMware publicou um estudo de performance detalhado