Otimização de custos de tabelas com o Intelligent-Tiering
É possível otimizar automaticamente os custos de armazenamento das tabelas usando o S3 Intelligent-Tiering. A classe de armazenamento S3 Intelligent-Tiering para tabelas do S3 move automaticamente os dados para o nível de acesso mais econômico quando os padrões de acesso mudam. Com o S3 Intelligent-Tiering, os dados acessados com menor frequência são automaticamente movidos para níveis de menor custo e movidos de volta para o nível Frequent Access sempre que você os acessa novamente.
Todos os dados são movidos entre níveis sem taxas de recuperação, impacto no desempenho ou alterações na disponibilidade. Além disso, as operações de manutenção de tabelas, como compactação, são otimizadas com base em padrões de acesso, processando somente dados acessados ativamente nível Frequent Access e, ao mesmo tempo, reduzindo os custos de manutenção em dados acessados com menor frequência em níveis de menor custo.
Tópicos
Níveis de acesso do Intelligent-Tiering para tabelas do S3
Quando a tabela é armazenada na classe de armazenamento S3 Intelligent-Tiering, o Amazon S3 monitora continuamente padrões de acesso e move automaticamente os dados de tabela entre níveis de acesso.
A hierarquização ocorre em nível de arquivo, portanto, uma única tabela pode ter arquivos em níveis diferentes com base nos padrões de acesso. Os dados da tabela são movidos automaticamente para um dos seguintes níveis de acesso com base nos padrões de acesso:
-
Frequent Access: o nível padrão para todos os arquivos. Os arquivos em outros níveis voltam automaticamente para o nível Frequent Access quando acessados.
-
Infrequent Access: se você não acessar um arquivo por trinta dias consecutivos, ele será movido para o nível Infrequent Access.
-
Archive Instant Access: se você não acessar um arquivo por noventa dias consecutivos, ele será movido para o nível Archive Instant Access.
Todos os níveis oferecem latência de milissegundos e alto desempenho de throughput e são projetados para oferecer 99,9% de disponibilidade e 99,999999999% de durabilidade.
Comportamento de nivelamento automático com o S3 Intelligent-Tiering
As seguintes ações constituem um acesso que automaticamente move os arquivos do nível Infrequent Access ou Archive Instant Access de volta para o nível Frequent Access:
-
Qualquer operação de leitura ou gravação em dados de tabela ou arquivos de metadados usando ações
GetObject,PutObjectouCompleteMultipartUpload. -
Ações
LoadTableouUpdateTableque usam operações da API REST do Iceberg. -
Operações de replicação de tabelas do S3
Outras ações não constituem um acesso que automaticamente mova os arquivos do nível Infrequent Access ou Archive Instant Access de volta para o nível Frequent Access.
nota
Arquivos abaixo de 128 KB não são elegíveis para nivelamento automático e permanecem no nível Frequent Access. A compactação pode combinar esses arquivos em um número menor de objetos maiores e enviá-los de volta à tabela como um novo snapshot. Os arquivos recém-compactados se tornarão elegíveis para nivelamento automático se o novo arquivo tiver 128 KB ou mais.
Comportamento de manutenção de tabelas
As operações automáticas de manutenção de tabelas realizadas pelo Amazon S3, como gerenciamento de snapshots, remoção de arquivos sem referência e expiração de registros, continuam sendo executadas em suas tabelas, independentemente do nível. A compactação é executada somente em arquivos no nível Frequent Access, otimizando o desempenho dos dados acessados com frequência e reduzindo os custos de manutenção dos dados em níveis de menor custo.
As operações de manutenção não afetam o nível de acesso dos arquivos em sua tabela. As leituras realizadas pelas operações de manutenção não fazem com que os arquivos mudem de nível. No entanto, se uma operação de manutenção, como compactação ou expiração de registro, gravar um novo arquivo, esse arquivo será criado no nível Frequent Access.
nota
Como a compactação processa somente arquivos no nível Frequent Access, as operações de exclusão em dados em níveis de menor custo criam arquivos de exclusão que não são compactados automaticamente. Esses arquivos excluídos se tornam elegíveis para compactação quando os arquivos de dados associados são acessados e voltam para o nível Frequent Access. No caso de tabelas que não são acessadas com frequência, é possível executar manualmente a compactação usando o Amazon EMR para compactar esses arquivos excluídos com os respectivos arquivos de dados. Para ter mais informações, consulte Manutenção de tabelas usando compactação. É possível monitorar o aumento do tamanho dos arquivos em sua tabela usando métricas do Amazon CloudWatch para determinar quando a compactação manual pode ser útil.
Especificar o S3 Intelligent-Tiering como classe de armazenamento
Por padrão, todas as tabelas são criadas na classe de armazenamento S3 Standard e não podem ser movidas para o S3 Intelligent-Tiering. Para usar o S3 Intelligent-Tiering, é necessário especificá-lo ao criar uma tabela. Também é possível definir o S3 Intelligent-Tiering como classe de armazenamento padrão do bucket de tabela para armazenar automaticamente todas as novas tabelas criadas lá na classe de armazenamento S3 Intelligent-Tiering.
Especificar o S3 Intelligent-Tiering para buckets de tabela
É possível especificar o S3 Intelligent-Tiering como a classe de armazenamento padrão ao criar um bucket de tabela usando o cabeçalho storage-class-configuration com a operação CreateTableBucket.
Para verificar a classe de armazenamento padrão em um bucket de tabela existente, use a operação GetTableBucketStorageClass. Para modificar a classe de armazenamento padrão de um bucket de tabela existente, use a operação PutTableBucketStorageClass.
nota
Ao modificar a classe de armazenamento padrão em um bucket de tabela, essa configuração se aplica somente às novas tabelas criadas nesse bucket. A classe de armazenamento de tabelas preexistentes não é alterada.
Especificar o S3 Intelligent-Tiering para tabelas
É possível especificar o S3 Intelligent-Tiering como a classe de armazenamento ao criar uma tabela usando o cabeçalho storage-class-configuration com a operação CreateTable.
Se você não especificar uma classe de armazenamento ao criar a tabela, a tabela será criada na classe de armazenamento padrão configurada no bucket de tabela naquele momento. Depois que a tabela é criada, não é possível mais modificar a respectiva classe de armazenamento.
Para verificar a classe de armazenamento padrão em um bucket de tabela existente, use a operação GetTableBucketStorageClass.
Monitorar o uso do armazenamento
É possível visualizar o detalhamento do uso do armazenamento por nível de acesso nos Relatórios de Custos e Uso da AWS da sua conta. Para ter mais informações, consulte Criar relatórios de custos e uso no Guia do usuário de exportações de dados da AWS.
Os seguintes tipos de uso estão disponíveis nos relatórios de faturamento:
| Tipo de uso | Unidade | Granularity | Descrição |
|---|---|---|---|
|
GB por mês | Por dia | O número de GB-meses em que os dados ficaram armazenados no S3 Intelligent-Tiering Frequent Access do armazenamento S3 Intelligent-Tiering. |
|
GB por mês | Por dia | O número de GB-meses em que os dados ficaram armazenados no S3 Intelligent-Tiering Infrequent Access do armazenamento S3 Intelligent-Tiering. |
|
GB por mês | Por dia | O número de GB-meses em que os dados ficaram armazenados no S3 Intelligent-Tiering Archive Instant Access do armazenamento S3 Intelligent-Tiering |
|
Contagem | Por hora | O número de solicitações PUT, COPY ou POST em objetos do S3 Intelligent-Tiering de tabelas do S3. |
|
Contagem | Por hora | O número de solicitações GET e todas as outras solicitações que não são do nível 1 para objetos do S3 Intelligent-Tiering de tabelas do S3. |