À medida que o volume de dados em uma instância do ApsaraDB RDS for MySQL aumenta, os custos de armazenamento também crescem. Para reduzir significativamente essas despesas, arquive dados acessados com pouca frequência, conhecidos como dados frios, no Object Storage Service (OSS).
Como funciona
Após ativar o recurso de arquivamento de dados em uma instância do ApsaraDB RDS for MySQL que utiliza Premium ESSD, execute instruções DDL para mover dados entre o Premium ESSD e o OSS. Esse recurso permite arquivar tabelas grandes e pouco acessadas no OSS, mantendo a leitura dos dados por meio dos métodos de acesso nativos do InnoDB. As seguintes instruções DDL são suportadas:
-
Arquivar uma tabela
ALTER TABLE $table_name ENGINE_ATTRIBUTE='{"OSS":"Y"}';NotaO ApsaraDB RDS for MySQL permite arquivar uma tabela inteira no OSS. Após o arquivamento, a tabela torna-se somente leitura. Apenas as operações SELECT, DROP TABLE, DROP DATABASE e RENAME são permitidas.
-
Recuperar uma tabela
ALTER TABLE $table_name ENGINE_ATTRIBUTE='{"OSS":"N"}';
As tabelas arquivadas no ApsaraDB RDS for MySQL mantêm todas as informações de índice do InnoDB e suas propriedades transacionais. Isso possibilita consultas rápidas por deslocamento (offset) e aceleração via cache, melhorando consideravelmente a eficiência de acesso às tabelas frias.
Benefícios
Ao aproveitar a vasta capacidade, alta segurança, baixo custo e confiabilidade do OSS, o recurso de arquivamento de dados oferece uma solução econômica para armazenar dados na sua instância do ApsaraDB RDS for MySQL. Ele suporta acesso esporádico aos dados sem perder as capacidades transacionais completas do InnoDB. Em comparação com discos Premium ESSD PL1, essa abordagem pode reduzir seus custos de armazenamento em até 80%.
Para melhorar o desempenho das consultas, ative o recurso de Extensão do Buffer Pool (BPE).
Pré-requisitos
Mecanismo: ApsaraDB RDS for MySQL
Tipo de product: Standard e Yitian
-
Tipo de armazenamento: Premium ESSD
NotaCaso sua instância não utilize Premium ESSD, altere o tipo de armazenamento para Premium ESSD.
Não é possível alterar o tipo de armazenamento de Premium Local SSD ou SSD padrão para Premium ESSD.
Método de faturamento: pagamento conforme o uso e assinatura
Versão do mecanismo: MySQL 8.0 com versão secundária do mecanismo 20240131 ou posterior
Edição: RDS Basic Edition, RDS High-availability Edition e RDS Cluster Edition
Regiões indisponíveis: Thailand (Bangkok), South Korea (Seoul), UK (London) e UAE (Dubai)
Faturamento
Gratuito durante a prévia pública
Durante a prévia pública, que ocorre de 20 de junho de 2024 a 25 de julho de 2024, o uso deste recurso é gratuito. Após o término da prévia, a cobrança será baseada no volume de dados arquivados no OSS.
Detalhes do faturamento
Este recurso suporta apenas o método de faturamento pagamento conforme o uso. A tabela a seguir descreve os preços para diferentes edições do RDS e regiões.
Região | Preço da Basic Edition | Preço da High-availability Edition | Preço da Cluster Edition (por nó) |
China (Hangzhou), China (Shanghai), China (Qingdao), China (Beijing), China (Zhangjiakou), China (Hohhot), China (Ulanqab), China (Shenzhen), China (Heyuan), China (Guangzhou) e China (Chengdu) | USD 0,000032 por GB-hora | USD 0,000065 por GB-hora | USD 0,000032 por GB-hora |
China (Hong Kong) | USD 0,000034 por GB-hora | USD 0,000068 por GB-hora | USD 0,000034 por GB-hora |
Filipinas (Manila), US (Silicon Valley) | USD 0,000058 por GB-hora | USD 0,000117 por GB-hora | USD 0,000058 por GB-hora |
Japan (Tokyo), Singapore, Indonesia (Jakarta), Germany (Frankfurt) | USD 0,000034 por GB-hora | USD 0,000068 por GB-hora | USD 0,000034 por GB-hora |
Malaysia (Kuala Lumpur) | USD 0,000057 por GB-hora | USD 0,000114 por GB-hora | USD 0,000057 por GB-hora |
US (Virginia) | USD 0,000054 por GB-hora | USD 0,000108 por GB-hora | USD 0,000054 por GB-hora |
Regiões indisponíveis: Thailand (Bangkok), South Korea (Seoul), UK (London) e UAE (Dubai).
Limitações
O recurso de arquivamento de dados não está disponível para instâncias serverless do ApsaraDB RDS for MySQL.
Tabelas armazenadas no OSS são somente leitura e suportam apenas as operações SELECT, DROP TABLE, DROP DATABASE e RENAME. Após recuperar uma tabela para o Premium ESSD, todas as operações voltam a ser suportadas.
Não é possível arquivar no OSS tabelas particionadas, tabelas com índices de texto completo, tabelas criptografadas, tabelas com chaves estrangeiras, tabelas com gatilhos ou tabelas compactadas (incluindo compactação de tabela e de página).
Devido à latência de acesso do OSS, consultas a tabelas frias armazenadas no OSS podem apresentar latência maior, cerca de 10 ms, em comparação com consultas a tabelas em um Premium ESSD.
Uma tabela deve ter pelo menos 6 MB para ser arquivada.
O tempo de execução de uma instrução DDL de arquivamento depende do tamanho da tabela. Durante a execução, a tabela permanece legível, mas não gravável.
-
Ativar o arquivamento de dados afeta backups da instância e outros recursos, conforme descrito na tabela a seguir:
Recurso não suportado
Descrição
Backup em segundos de um dígito
Para usar o Backup em segundos de um dígito, primeiro desative o recurso de arquivamento de dados.
Antes de ativar o recurso de arquivamento de dados, certifique-se de que o Backup em segundos de um dígito esteja desativado.
Backup entre regiões
Para usar o backup entre regiões, primeiro desative o recurso de arquivamento de dados.
Antes de ativar o recurso de arquivamento de dados, certifique-se de que o backup entre regiões esteja desativado.
Restauração de bancos de dados e tabelas individuais
Ao restaurar um banco de dados, apenas os dados não arquivados desse banco serão restaurados.
Baixe do conjunto de backup
Um conjunto de backup baixado contém apenas dados não arquivados.
NotaEm instâncias com arquivamento de dados ativado, as operações de backup e restauração demoram mais porque o sistema precisa recuperar e restaurar os dados arquivados.
Observações de uso
O arquivamento de dados no OSS e a leitura desses dados consomem memória. Ajuste a velocidade e a frequência da conversão e do acesso aos dados de acordo com sua carga de trabalho.
Ativar e desativar o arquivamento de dados
Acesse a página Instâncias, selecione uma região na barra de navegação superior e clique em no ID da instância desejada. A instância deve atender aos pré-requisitos para arquivamento de dados.
-
Na página de detalhes da instância, clique em Configure Premium ESSD à direita de Premium ESSD e alterne o botão Data Archiving.
ImportanteAo ativar ou desativar o recurso de arquivamento de dados, ocorre um failover primário/standby, causando uma interrupção temporária de aproximadamente 30 segundos. Recomendamos realizar essa operação fora dos horários de pico e garantir que sua aplicação possua um mecanismo de reconexão automática.
Para desativar o recurso de arquivamento de dados, não devem existir tabelas arquivadas no OSS. Caso existam, execute primeiro uma instrução DDL para recuperá-las para o Premium ESSD ou exclua-as antes de desativar o recurso.
Visualize dados arquivados
Para instâncias do ApsaraDB RDS for MySQL 8.0 com versão secundária do mecanismo 20241130 ou posterior, consulte diretamente information_schema.innodb_tablespaces_oss para obter informações de tablespace de forma mais eficiente.
-- For ApsaraDB RDS for MySQL instances running a version earlier than 20241130
SELECT t.NAME AS tablespace_name, SUBSTRING_INDEX(t.NAME, '/', 1) AS database_name, SUBSTRING_INDEX(t.NAME, '/', -1) AS table_name, oss.OSS_OBJECT_NUM * oss.OSS_OBJECT_SIZE AS SIZE_IN_OSS_BYTES FROM information_schema.innodb_tables AS t JOIN information_schema.innodb_tablespaces_oss AS oss ON t.space = oss.space;
-- For ApsaraDB RDS for MySQL instances running version 20241130 or later
SELECT NAME AS tablespace_name, SUBSTRING_INDEX(NAME, '/', 1) AS database_name, SUBSTRING_INDEX(NAME, '/', -1) AS table_name, OSS_PART_SIZE AS SIZE_IN_OSS_BYTES FROM information_schema.innodb_tablespaces_oss;
Referências
O recurso de arquivamento de dados introduz vários parâmetros modificáveis conforme as necessidades do seu negócio. Para mais informações, consulte Lista de parâmetros disponíveis para RDS MySQL 8.0.
Parâmetro | Padrão | Descrição |
innodb_oss_ddl_threads | 16 |
|
innodb_oss_files_limit | 10240 |
|
innodb_oss_prefetch | ON |
|
innodb_oss_prefetch_linear_pct_threshold | 10% |
|
innodb_oss_prefetch_random_pct_threshold | 30% |
|
innodb_oss_prefetch_task_limit | 32 |
|
oss_max_connections | 64 |
|
Perguntas frequentes
P: Por que executar um comando ALTER DDL no MySQL resulta no erro [OSS] Size of tables is less than 6291456?
R: Uma tabela deve ter pelo menos 6 MB para ser arquivada.
P: Se eu ativar o arquivamento de dados na instância primária de uma instância do ApsaraDB RDS for MySQL, as instâncias somente leitura associadas precisam de alguma operação adicional?
R: Não. Ao ativar o arquivamento de dados na instância primária, as instâncias somente leitura sincronizam automaticamente o recurso e liberam os tablespaces arquivados. Nenhuma operação adicional é necessária.