Compartilhar via


Estratégias de arquitetura para otimizar os custos de dados

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

CO:10 Otimizar os custos de dados. Gastos de 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 de dados desnecessária.

Definições

Prazo Definição
Gerenciamento do ciclo de vida de 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 durante o qual os dados devem ser preservados para atender aos requisitos legais, regulatórios ou comerciais.

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 a frequência de acesso, a latência de acesso e a quantidade 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 dentro de 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 efetivamente:

  • 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 operações de negócios, retorno sobre o investimento e frequência de uso. Reúna 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 categorizar e atribuir níveis de importância a tipos de dados com base na confidencialidade e na criticidade. A prioridade de dados deve se alinhar à 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 armazenar, mover e proteger dados de carga de trabalho. Ao otimizar o gerenciamento de dados, você pode alinhar os gastos à prioridade de dados e derivar 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 durante 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 pouco frequente/atrasado (frio).

    Custa mais usar uma camada que não esteja alinhada com as necessidades de acesso e retenção de dados. Por exemplo, os dados acessados por seu aplicativo com frequência devem estar no armazenamento frequente. Os dados acessados pelo aplicativo com pouca frequência devem estar no armazenamento a frio. Gerenciar efetivamente esses 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 os 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 indicar 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.

  • Use a 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. 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 ao acesso limitado a dados críticos. Você deve ter mecanismos de backup e recuperação adequados para reduzir 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 consolida 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 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 um desempenho ideal e dados menos acessados usam 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 com frequência dados estáticos de leitura mais próximos dos usuários. Ele reduz a movimentação de dados em toda a 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 aderem a 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. Alterando a acessibilidade dos dados e implementando as seguintes técnicas, você pode otimizar efetivamente o volume de seus dados armazenados:

  • Capturar menos dados: dê uma olhada mais de perto nos dados que você está capturando. Determine se alguma delas é desnecessária para suas finalidades. Modifique seu processo, configurações ou 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, leitura nunca 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 a uma eventual exclusão de dados, como o primeiro arquivamento de dados e a 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, eduque 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 tiver 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 críticos 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 custo. 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 os backups

Um backup é um instantâneo periódico ou uma cópia de dados que você pode criar e armazenar separadamente do armazenamento primário. Se houver corrupção de dados, 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 a 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 em requisitos de negócios e regulamentos de conformidade. Manter backups por durações mais longas pode levar a custos adicionais 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 a 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 buscar 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 o 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 pesada ou quando os padrões de consulta se concentram em colunas específicas dos registros.

    Ambos os formatos são armazenamento columnar, o que significa que os dados são armazenados coluna por coluna em vez de linha por linha. O armazenamento de colunas permite uma compactação aprimorada e operações de leitura eficientes. Somente as colunas necessárias precisam ser buscadas, para que você evite 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 alternância 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.

  • Otimizar os custos de dados de log com resumo: para fluxos de dados de log de alto volume, considere usar técnicas de resumo para reduzir os custos de armazenamento, mantendo os recursos analíticos.

  • Migrar da IaaS (infraestrutura como serviço) para a 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 principal, considere usar uma solução de cache para armazenar em cache resultados de consulta complexos. A rightsizing do servidor de banco de dados pode ajudar a otimizar o custo. Com os casos de uso aplicáveis, considere usar o TTL (tempo de vida útil) com os dados armazenados em cache para reduzir as necessidades de armazenamento e reduzir o custo.

  • Armazenamentos com otimização de consulta versus armazenamento de dados: os repositórios com otimização de consulta são projetados para análise e recuperação rápida 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 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 governar, proteger e gerenciar todo o seu patrimônio de dados. As soluções do Microsoft Purview fornecem cobertura integrada e ajudam a lidar com os recentes aumentos na conectividade remota do usuário, a fragmentação de dados entre organizações e a desfocação das funções tradicionais de gerenciamento de TI.

Otimização do gerenciamento de dados: o Armazenamento do Azure e o Azure Data Lake Storage têm diferentes camadas de acesso a dados. Eles também oferecem políticas de gerenciamento de 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 frio (ou frio) para quente imediatamente quando eles são acessados, para otimizar o desempenho.

Otimização de backups: o serviço de 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 da 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 vidro 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: a capacidade reservada do Armazenamento de Backup do Azure 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 ano ou três anos. Uma reserva fornece uma quantidade fixa de capacidade de armazenamento de backup para o período da reserva.

  • Camada de arquivo morto: você pode usar o 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. O Backup do Azure dá suporte ao backup de pontos LTR na camada de arquivo morto, 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 recursos 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 correto.

Para escolher a solução de armazenamento e a configuração 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.

A otimização de consultas nasregras de Resumo do Log Analytics do Azure Monitor permitem um resumo automatizado de fluxos de dados de alta taxa de ingestão em diferentes camadas de serviço. Essa abordagem fornece retenção de dados de longo prazo econômica criando arquiteturas em camadas em que dados brutos detalhados são agregados em conjuntos de dados resumidos para análise e relatórios, reduzindo significativamente as despesas de armazenamento, preservando insights analíticos.

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

Consulte o conjunto completo de recomendações.