Recomendações para otimizar os custos de dados

Aplica-se a esta recomendação de lista de verificação da Otimização de Custos do Azure Well-Architected Framework:

CO:10 Otimizar os custos de dados. Gastos com dados com prioridade de dados. A otimização de dados deve incluir melhorias no gerenciamento de dados (camadas e retenção), volume, replicação, backups, formatos de arquivo e soluções de armazenamento.

Este guia descreve as recomendações para otimizar os custos de dados para uma carga de trabalho. A otimização dos custos de dados envolve minimizar as despesas relacionadas ao armazenamento e ao gerenciamento de dados de acordo com sua significância e frequência de acesso. O gerenciamento de dados apropriado pode reduzir significativamente os custos de sobrecarga e alinhar os gastos com o utilitário de dados. A negligência em otimizar os custos de dados pode levar a despesas infladas, alocação de recursos ineficientes e desperdício financeiro devido a soluções de armazenamento desalinhadas e retenção desnecessária de dados.

Definições

Termo Definição
Gerenciamento do ciclo de vida dos dados O processo de gerenciamento de dados em todo o ciclo de vida, da criação à exclusão. Esse processo envolve organizar, armazenar, proteger e arquivar dados com base em seus padrões de valor e uso.
Redundância de dados A prática de armazenar cópias duplicadas de dados em vários sistemas de armazenamento ou locais. A finalidade da redundância de dados é melhorar a disponibilidade de dados e a tolerância a falhas.
Camada de dados Uma estratégia de armazenamento que envolve categorizar dados com base em sua frequência de acesso e armazená-los em camadas de armazenamento adequadamente.
Política de retenção A duração para a qual os dados devem ser retidos antes que possam ser excluídos. Ele especifica o período de tempo durante o qual os dados devem ser preservados para atender aos requisitos legais, regulatórios ou de negócios.

Principais estratégias de design

Em uma carga de trabalho específica, você otimiza os custos de dados reduzindo as despesas associadas ao armazenamento e ao gerenciamento de dados. Há várias estratégias e práticas recomendadas para minimizar os custos de armazenamento e processamento de dados. A meta é alinhar os custos de dados com a prioridade de dados. Você precisa atribuir camadas de custo a tipos de dados com base em sua importância ou frequência de acesso.

Os principais drivers para o custo dos dados de carga de trabalho são frequência de acesso, latência de acesso e valor de armazenamento. As diretrizes a seguir contêm estratégias para otimizar os custos entre esses drivers de custo.

Fazer um inventário de dados

Antes de otimizar o custo de seus dados, você precisa gerar um inventário de dados. Examine o acesso a dados e determine sua importância em sua carga de trabalho e suas operações. Identifique quais dados são acessados com frequência e quais dados são acessados com menos frequência. As seguintes ações de inventário podem ajudá-lo a alocar recursos de armazenamento com eficiência:

  • Coletar informações de acesso a dados: Realize uma auditoria de dados para identificar e catalogar todos os armazenamentos de dados. Determine o valor dos conjuntos de dados com base em sua importância para as operações de negócios, o retorno sobre o investimento e a frequência de uso. Colete logs de acesso, métricas de uso ou análise de suas soluções de armazenamento de dados.

  • Identificar tipos de dados: Categorize dados com base em seu tipo, como dados pessoais, dados financeiros, propriedade intelectual ou dados operacionais. Entenda a confidencialidade e a criticidade de cada tipo de dados.

  • Identificar padrões de acesso: Identifique os padrões no acesso a dados, como padrões de uso diários, semanais ou mensais. Você deve entender os requisitos de latência, tamanhos de arquivo e atualização de dados para esses dados.

Priorizar dados

A priorização de dados é o processo de categorização e atribuição de níveis de importância a tipos de dados com base na confidencialidade e na criticidade. A prioridade de dados deve se alinhar com a importância do ambiente. Por exemplo, os dados de produção são mais importantes do que os dados de pré-produção.

Avalie a importância de vários tipos de dados para sua carga de trabalho usando estas etapas:

  1. Definir níveis de prioridade: Estabeleça níveis de prioridade para dados (como alto, médio e baixo) com base em seu valor para a organização, requisitos regulatórios e potencial efeito da perda de dados. A meta é alinhar a prioridade de dados à solução de dados apropriada.

  2. Atribuir rótulos: Rotule cada conjunto de dados com sua confidencialidade e criticidade. Você pode aplicar rótulos no nível de linha, coluna ou arquivo, dependendo da estrutura de dados e do uso. Para bancos de dados, você pode usar uma ferramenta especial para rotular e relacionar a confidencialidade e a criticidade dos dados a linhas e colunas específicas. Essa abordagem fornece controle granular sobre o gerenciamento e o acesso de dados.

Otimizar o gerenciamento de dados

O gerenciamento de dados é o processo de armazenamento, movimentação e proteção de dados de carga de trabalho. Ao otimizar o gerenciamento de dados, você pode alinhar os gastos à prioridade de dados e obter mais valor de seus dados. Considere as estratégias a seguir para o gerenciamento de dados.

Otimizar o gerenciamento do ciclo de vida de dados

É importante gerenciar dados em todo o ciclo de vida. Os estágios do ciclo de vida incluem criação (ou aquisição de dados), armazenamento, uso, compartilhamento, retenção e descarte (exclusão ou arquivamento). O objetivo do gerenciamento do ciclo de vida de dados é otimizar as soluções de armazenamento de dados, ao mesmo tempo em que está em conformidade com as regulamentações e políticas relevantes.

O armazenamento de dados tem três componentes de custo críticos:

  • Custo de armazenamento: a despesa associada ao armazenamento de dados, como por gigabyte.

  • Custo da transação: custos vinculados a operações de dados, como operações de gravação, operações de leitura e recuperação de dados (por gigabyte). Ler e gravar dados pode ter custos diferentes.

  • Custo de latência: a despesa associada à velocidade ou atraso no acesso aos dados.

As seguintes considerações são fundamentais para o gerenciamento do ciclo de vida de dados:

  • Use a camada de dados: A meta da camada de dados é alinhar o acesso e a retenção com a camada de armazenamento mais econômica. As camadas de armazenamento variam de acesso frequente/imediato (quente) a acesso infrequente/atrasado (frio).

    Custa mais para usar uma camada que não está alinhada com as necessidades de acesso e retenção de dados. Por exemplo, os dados que seu aplicativo acessa com frequência devem estar no armazenamento frequente. Os dados que seu aplicativo acessa com pouca frequência devem estar no armazenamento frio. O gerenciamento eficaz desses aspectos ajuda a garantir um armazenamento de dados eficiente.

  • Considere os requisitos de conformidade: Implementar a camada de dados requer uma consideração cuidadosa dos requisitos de conformidade e das políticas de governança de dados. A conformidade e os requisitos legais geralmente impulsionam o acesso e a retenção de dados. Estabeleça políticas de retenção de dados para garantir a conformidade com requisitos legais, regulatórios e de negócios.

  • Definir políticas de ciclo de vida de dados. As políticas de ciclo de vida de dados especificam quando e como os dados devem ser movidos entre as camadas de armazenamento com base em critérios predefinidos. Essas políticas garantem que você mantenha os dados na camada apropriada durante a duração necessária. Por exemplo, uma política pode declarar que os dados devem ser mantidos na camada quente por 30 dias, na camada fria por 90 dias e na camada de arquivo morto por um ano. Defina o período de retenção com base em fatores como requisitos legais, regulamentos do setor ou políticas internas.

  • Usar automação: as políticas de retenção podem disparar a movimentação de dados entre camadas. Você deve automatizar políticas usando recursos de plataforma antes de criar qualquer solução personalizada.

    Quando o período de retenção de uma camada específica expira, a política pode mover automaticamente os dados para a próxima camada de custo mais baixo. Por exemplo, quando o período de retenção da camada quente termina, a política pode mover os dados para a camada fria. A política garante que os dados sejam otimizados continuamente com base em seus padrões de acesso e requisitos de custo.

Compensação: o gerenciamento de políticas de retenção de dados requer monitoramento e manutenção contínuos. Ele pode introduzir mais sobrecarga para processos de gerenciamento de dados. Isso também pode afetar os custos de armazenamento. Períodos de retenção mais longos ou o uso de camadas de armazenamento de custo mais alto podem aumentar as despesas de armazenamento.

Risco: uma implementação ruim do gerenciamento do ciclo de vida de dados pode levar à perda de dados ou acesso limitado a dados críticos. Você deve ter mecanismos de backup e recuperação adequados para atenuar o risco de perda de dados.

Otimizar a segmentação de dados

A otimização da segmentação de dados envolve a organização estratégica de dados em segmentos distintos e a consolidação de tipos de dados semelhantes para alocar recursos de armazenamento com eficiência. Ele permite que você adapte a alocação de recursos de armazenamento à prioridade de dados.

Para otimizar efetivamente a segmentação de dados, você categoriza os dados por tipo e padrão de uso. Em seguida, você coloca os segmentos de dados na solução mais eficaz, dependendo de suas semelhanças operacionais e requisitos. Por exemplo, você coloca dados que exigem armazenamento de alto desempenho em recursos com tempo de recuperação mais rápido. Os dados de arquivamento usam um recurso de menor custo com tempo de recuperação mais lento.

Essa abordagem garante que os dados de alta demanda usem armazenamento mais rápido para obter um desempenho ideal e que dados menos acessados usem armazenamento mais barato. Da mesma forma, quando os tipos de dados compartilham padrões de uso, você deve agrupá-los em um único recurso para reduzir a sobrecarga, simplificar o gerenciamento e melhorar o tratamento de dados.

Minimizar a transferência de dados

Minimizar a transferência de dados refere-se à redução da movimentação de dados entre redes para diminuir os custos de transferência de dados. Ele reduz o volume de dados que a carga de trabalho move e reduz as taxas de uso da rede. Para minimizar a transferência de dados, considere as seguintes recomendações:

  • Use o local certo. coloque os dados geograficamente mais próximos de seus usuários. A proximidade de dados reduz as viagens de rede, o que acelera o acesso e otimiza os custos.
  • Use o cache. Considere os benefícios do cache para minimizar a transferência de dados.
  • Use uma rede de distribuição de conteúdo. Uma rede de distribuição de conteúdo pode armazenar dados estáticos de leitura frequente mais próximos dos usuários. Ele reduz a movimentação de dados pela rede e ajuda a descarregar o uso da largura de banda.

Otimizar a segurança e a conformidade

Determinados dados de produção exigem requisitos mais altos de segurança e conformidade. Essas medidas podem impor custos extras relacionados à proteção de dados, criptografia, backup, retenção e auditoria.

Você deve garantir que as alterações nas soluções de armazenamento de dados sigam esses requisitos. Os dados que têm requisitos de segurança e conformidade mais baixos geralmente apresentam uma oportunidade para otimizar o custo.

Otimizar o volume de dados

Encontrar estratégias para diminuir a quantidade de dados que você armazena pode ajudar a reduzir os custos. Ao alterar a acessibilidade dos dados e implementar as seguintes técnicas, você pode otimizar efetivamente o volume dos dados armazenados:

  • Capturar menos dados: dê uma olhada mais detalhada nos dados que você está capturando. Determine se alguma delas é desnecessária para seus propósitos. Modifique o processo, as configurações ou as configurações para capturar apenas os dados essenciais.

  • Compactar dados: a compactação economiza dinheiro reduzindo o tamanho dos dados. Ele é mais eficaz em cenários de gravação única, nunca leitura ou leitura raramente. É mais adequado para armazenamento mais frio.

    Compensação: a compactação e a descompactação de dados aumentam o tempo de CPU.

  • Excluir dados desnecessários: implemente políticas para simplificar o processo de armazenamento de informações relevantes. Avalie o período de retenção para backups e instantâneos e exclua os dados que você não precisa mais. Talvez você queira ter um processo que leve à eventual exclusão de dados, como primeiro arquivamento de dados e habilitação de um período de exclusão reversível. Sempre considere a capacidade de recuperação antes de excluir dados.

  • Eliminação de duplicação de dados: implemente técnicas de eliminação de duplicação de dados para eliminar dados redundantes. A eliminação de duplicação reduz os requisitos de armazenamento, garantindo que você armazene apenas blocos de dados exclusivos, para economizar custos. Use algoritmos de hash e comparação de partes de dados. Execute regularmente processos de eliminação de duplicação para identificar e eliminar dados duplicados.

  • Otimizar o comportamento do usuário: em cargas de trabalho que coletam dados gerados pelo usuário, instrua os usuários sobre a importância do armazenamento de dados eficiente. Incentive-os a revisar e excluir regularmente arquivos e dados desnecessários. Implemente cotas de armazenamento ou modelos de preços que desencorajam o armazenamento excessivo de dados.

Otimizar a replicação de dados

A replicação de dados envolve criar várias cópias de dados e armazená-las em outras localizações geográficas ou zonas para confiabilidade. A replicação garante que, se um local ou zona apresentar uma falha ou interrupção, você ainda poderá acessar os dados das cópias replicadas em outros locais.

Essa redundância ajuda a melhorar a disponibilidade e a resiliência dos dados. Ele minimiza o risco de perda de dados e tempo de inatividade.

Para otimizar a replicação de dados para otimização de custo, considere as seguintes diretrizes:

  • Avaliar os requisitos de replicação de dados: avalie as necessidades específicas da carga de trabalho e determine o nível de replicação de dados necessário. Considere fatores como criticalidade de dados, RTOs (objetivos de tempo de recuperação) e RPOs (objetivos de ponto de recuperação).

  • Escolha a estratégia de replicação correta: selecione uma tecnologia de replicação que se alinhe às suas metas de otimização de custos. Considere os requisitos de SLA (contrato de nível de serviço) para sua carga de trabalho.

    Avalie opções como replicação síncrona, replicação assíncrona ou uma combinação de ambos. Baseie a decisão em fatores como requisitos de consistência de dados e considerações de largura de banda de rede. Avalie o nível de disponibilidade necessário para sua carga de trabalho e avalie a necessidade de redundância zonal versus regional.

  • Otimizar a largura de banda de rede: minimize o uso da largura de banda de rede implementando técnicas de compactação e eliminação de duplicação de dados. Essas técnicas podem reduzir a quantidade de dados transferidos durante a replicação, o que pode economizar custos.

  • Monitorar e otimizar a frequência de replicação: examine e ajuste regularmente a frequência de replicação com base nas necessidades de alteração da carga de trabalho. Ajustar a frequência de replicação pode ajudar a otimizar os custos reduzindo a sobrecarga de replicação desnecessária.

Otimizar backups

Um backup é uma instantâneo periódica ou cópia de dados que você pode criar e armazenar separadamente do armazenamento primário. Se houver dados corrompidos, exclusão acidental ou falha do sistema, você poderá usar backups para restaurar os dados para seu estado anterior.

Aqui estão algumas técnicas para otimizar backups:

  • Classificação de dados: classifique seus dados com base em sua importância e priorização para backup. A classificação ajuda você a concentrar recursos no backup de dados críticos, minimizando os custos de backup para dados menos importantes.

  • Backups incrementais: em vez de executar backups completos todas as vezes, considere implementar backups incrementais. Os backups incrementais capturam apenas as alterações feitas desde o último backup, o que pode reduzir os requisitos de armazenamento e largura de banda de rede.

    Compensação: os backups incrementais exigem mais etapas e tempo para restaurar dados. Você precisa restaurar o backup completo primeiro e, em seguida, aplicar cada backup incremental em sequência até chegar ao ponto de restauração desejado.

  • Compactação de backup: habilite a compactação durante o processo de backup para reduzir o tamanho dos arquivos de backup. Os backups compactados exigem menos espaço de armazenamento, para que você possa economizar custos.

  • Camadas de armazenamento de backup: avalie suas políticas de retenção de backup e considere mover backups mais antigos para camadas de armazenamento de menor custo, como armazenamento frio ou armazenamento de arquivos. Armazenar backups acessados com menos frequência em opções de armazenamento econômicas ajuda a otimizar os custos.

  • Período de retenção de backup: examine e ajuste os períodos de retenção para seus backups com base nos requisitos de negócios e nos regulamentos de conformidade. Manter backups por durações mais longas pode levar a custos extras de armazenamento.

  • Frequência de backup: analise a frequência de backup para vários tipos de dados. Ajuste o agendamento de backup com base na frequência das alterações de dados e na importância dos dados. Essas práticas ajudam a eliminar backups desnecessários e reduzir os custos de armazenamento.

Otimizar formatos de arquivo

Os formatos de arquivo influenciam a otimização de custo otimizando padrões de E/S (entrada/saída) e padrões de consulta de seus dados. Alguns formatos de arquivo atendem a cenários específicos. Alinhar o formato de arquivo com seus requisitos de carga de trabalho pode melhorar o desempenho da carga de trabalho.

Aqui estão as considerações para formatos comuns:

  • Avro: o formato de arquivo Avro é uma boa opção quando você está lidando com padrões de E/S pesados de gravação ou quando os padrões de consulta exigem a busca de várias linhas de registros em sua totalidade. Os processos de serialização e desserialização da Avro são eficientes, portanto, são compatíveis com barramentos de mensagens como Kafka que produzem uma série de eventos e mensagens em rápida sucessão.

  • Parquet e ORC (Optimized Row Columnar): os formatos de arquivo Parquet e ORC se destacam em cenários de padrões de E/S de leitura intensa ou quando os padrões de consulta se concentram em colunas específicas dos registros.

    Ambos os formatos são armazenamento colunar, o que significa que os dados são armazenados coluna por coluna em vez de linha por linha. O armazenamento colunar permite compactação aprimorada e operações de leitura eficientes. Somente as colunas necessárias precisam ser buscadas, portanto, você evita e/S desnecessárias para dados irrelevantes.

Otimizar soluções de armazenamento

Avalie e selecione os métodos e sistemas de armazenamento mais apropriados para seus dados. Esse esforço pode incluir a troca de bancos de dados, o uso de diferentes tipos de armazenamento ou a adição de mecanismos de cache. A facilidade de gerenciamento é outro fator a ser considerado ao escolher uma solução de armazenamento.

Ao adaptar soluções de armazenamento às necessidades e características específicas dos dados, você pode obter melhor custo-benefício ao atender às demandas de desempenho e escalabilidade. Há custos associados à troca de bancos de dados ou à troca de serviços, mas armazenar dados na solução de armazenamento errada pode custar dinheiro extra.

Aqui estão alguns casos de uso:

  • Alternar bancos de dados: você pode considerar mudar para um sistema de banco de dados que melhor atenda às suas necessidades. Por exemplo, se você estiver usando um banco de dados relacional, poderá explorar a opção de migrar para um banco de dados NoSQL se os dados forem mais orientados a documentos ou exigirem esquemas flexíveis.

  • Migrar de um banco de dados relacional para um repositório de arquivos simples: em alguns casos, armazenar dados em arquivos simples em vez de um banco de dados relacional tradicional pode fornecer vantagens como simplicidade e custo-benefício. Arquivos simples são adequados para determinados tipos de dados, como arquivos de log ou dados que não exigem consultas complexas. Por exemplo, você pode armazenar imagens binárias em um banco de dados SQL, mas é mais econômico armazená-las em um serviço de armazenamento especificamente para lidar com dados binários.

  • Migrando de IaaS (infraestrutura como serviço) para PaaS (plataforma como serviço): as soluções de banco de dados IaaS podem ser propriedades demoradas e com uso intensivo de recursos que desviam a atenção de uma equipe técnica das principais tarefas. O crescimento do volume de dados e os desafios de dimensionamento manual, backups e manutenção de infraestrutura podem tornar uma solução de PaaS mais econômica e eficiente.

  • Adicionando um cache: para reduzir o uso de recursos no servidor de banco de dados main, considere usar uma solução de cache para armazenar em cache resultados de consulta complexos. A criação de direitos do servidor de banco de dados pode ajudar a otimizar o custo. Com os casos de uso aplicáveis, considere o uso de TTL (vida útil) com os dados armazenados em cache para reduzir as necessidades de armazenamento e reduzir o custo.

  • Armazenamentos de armazenamento de dados com otimização de consulta versus otimizados para consulta: os repositórios otimizados para consulta foram projetados para recuperação e análise rápidas de dados. Eles se concentram na ingestão rápida de dados e leituras, mas não em atualizações frequentes. Eles são ótimos para dados de série temporal e acesso rápido a dados recentes, mas não para tarefas transacionais pesadas.

    Os armazenamentos de dados lidam com grandes volumes de dados flexíveis, especialmente dados não estruturados ou semiestruturados. Embora os armazenamentos de armazenamento de dados possam dar suporte à análise, tarefas complexas podem precisar de bancos de dados especializados. Eles são melhores para armazenar muitos dados variáveis, como logs ou conteúdo gerado pelo usuário em cenários como casos de uso noSQL.

Facilitação do Azure

Fazendo um inventário de dados: o Microsoft Purview é uma família de soluções de governança, risco e conformidade de dados que podem ajudar sua organização a controlar, proteger e gerenciar todo o seu patrimônio de dados. As soluções do Microsoft Purview oferecem cobertura integrada e ajudam a lidar com os recentes aumentos na conectividade de usuários remotos, a fragmentação de dados entre organizações e a indefinição das funções tradicionais de gerenciamento de TI.

Otimizando o gerenciamento de dados: o Armazenamento do Azure e Azure Data Lake Storage têm diferentes camadas de acesso a dados. Eles também oferecem políticas de gerenciamento do ciclo de vida de dados que automatizam a camada de dados e a retenção.

Você pode usar uma política baseada em regras para fazer a transição de dados de blob para as camadas de acesso apropriadas ou expirar dados no final do ciclo de vida. Essa política permite que você faça a transição de blobs de esporádicos (ou frios) para frequentes imediatamente quando eles são acessados, para otimizar o desempenho.

Otimizando backups: o serviço Backup do Azure fornece vários recursos para simplificar seus backups. Ele oferece recursos como backup de banco de dados nativo e backup de armazenamento por meio de instantâneos de disco. Ele dá suporte ao backup de máquina virtual, à retenção de longo prazo e ao gerenciamento de backup.

Aqui estão alguns dos recursos do serviço:

  • Monitoramento: você pode usar o Centro de Backup como um único painel de controle para monitorar seus trabalhos e fazer backup do inventário diariamente. O centro de backup fornece uma interface para relatórios de backup, que usam logs do Azure Monitor e pastas de trabalho do Azure.

  • Relatórios: os relatórios de backup oferecem os seguintes recursos:

    • Alocar e prever o armazenamento em nuvem consumido.
    • Auditar backups e restaurações.
    • Identifique as principais tendências em vários níveis de granularidade.
    • Obtenha visibilidade e insights sobre oportunidades de otimização de custos para seus backups.
  • Capacidade reservada: Backup do Azure Capacidade reservada de armazenamento oferece um desconto na capacidade dos dados de backup armazenados para a camada padrão do cofre quando você se compromete com uma reserva por um ou três anos. Uma reserva fornece uma quantidade fixa de capacidade de armazenamento de backup pelo termo da reserva.

  • Camada de arquivos: você pode usar Backup do Azure para armazenar dados de backup, incluindo dados de backup ltr (retenção de longo prazo), de acordo com as necessidades de retenção definidas pelas regras de conformidade da sua organização. Na maioria dos casos, os dados de backup mais antigos raramente são acessados e são armazenados apenas para necessidades de conformidade. Backup do Azure dá suporte ao backup de pontos LTR na camada de arquivos, além de instantâneos e da camada padrão.

Otimizando soluções de armazenamento: o Azure tem muitas soluções de armazenamento. Eles oferecem vários recursos e funcionalidades para ajudar a otimizar os custos com base em seus requisitos específicos. O Azure tem diretrizes para ajudá-lo a escolher o armazenamento de dados certo.

Para escolher a solução e a configuração de armazenamento mais adequadas, é importante avaliar seus padrões de acesso a dados, as necessidades de retenção e os requisitos de desempenho. Monitorar e otimizar regularmente o uso do armazenamento usando ferramentas como o Assistente do Azure pode ajudá-lo a otimizar ainda mais os custos.

Lista de verificação de Otimização de Custos

Consulte o conjunto completo de recomendações.