Vantagens, desvantagens e requisitos para codificação de apagamento no StorageGRID
Antes de decidir se deve usar replicação ou codificação de apagamento para proteger os dados de objeto contra perda, você deve entender as vantagens, desvantagens e os requisitos da codificação de apagamento.
Vantagens da codificação de apagamento
Em comparação com a replicação, a codificação de apagamento oferece maior confiabilidade, disponibilidade e eficiência de storage.
-
Confiabilidade: medida pelo número de falhas simultâneas que podem ser suportadas sem perda de dados.
-
Replicação: múltiplas cópias idênticas de um mesmo objeto são armazenadas em nós diferentes e em vários locais.
-
Codificação de apagamento: um objeto é codificado em fragmentos de dados e paridade e distribuído por vários nós e locais. Essa dispersão oferece proteção contra falhas tanto do local quanto do nó.
-
-
Disponibilidade: A capacidade de recuperar objetos caso os Storage Nodes falhem ou se tornem inacessíveis. Em comparação com a replicação, codificação de apagamento oferece maior disponibilidade a custos de storage comparáveis.
-
Eficiência de storage: Para disponibilidade e confiabilidade semelhantes, objetos com codificação de apagamento usam menos espaço de disco do que objetos replicados. Por exemplo, um objeto de 10 MB replicado em dois sites consome 20 MB de espaço de disco (duas cópias), enquanto um objeto com codificação de apagamento em três sites usando um esquema de codificação de apagamento 6+3 consome apenas 15 MB de espaço de disco.
O espaço em disco para objetos com codificação de apagamento é calculado como o tamanho do objeto mais a sobrecarga de storage. A porcentagem de sobrecarga de storage é o número de fragmentos de paridade dividido pelo número de fragmentos de dados.
Desvantagens da codificação de apagamento
Em comparação com a replicação, a codificação de apagamento apresenta as seguintes desvantagens:
-
É recomendável aumentar o número de Storage Nodes e sites, dependendo do esquema de codificação de apagamento. Por outro lado, se você replicar dados de objetos, precisará apenas de um Storage Node para cada cópia. Consulte "Esquemas de codificação de apagamento para pools de storage contendo três ou mais sites" e "Esquemas de codificação de apagamento para pools de storage de um único local".
-
Aumento do custo e da complexidade das expansões de armazenamento. Para expandir uma implementação que usa replicação, você adiciona capacidade de storage em todos os locais onde as cópias de objetos são feitas. Para expandir uma implementação que usa codificação de apagamento, você deve considerar tanto o esquema de codificação de apagamento em uso quanto o nível de ocupação dos Storage Nodes existentes. Por exemplo, se você esperar até que os nós existentes estejam 100% cheios, precisará adicionar pelo menos
k+mStorage Nodes, mas se você expandir quando os nós existentes estiverem 70% cheios, poderá adicionar dois nós por site e ainda maximizar a capacidade de storage. Para obter mais informações, consulte "Adicionar capacidade de storage para objetos com codificação de apagamento". -
Há um aumento na latência de recuperação quando você utiliza codificação de apagamento em sites geograficamente distribuídos. Os fragmentos de um objeto que é codificado por apagamento e distribuído em sites remotos levam mais tempo para serem recuperados por conexões WAN do que um objeto que é replicado e está disponível localmente (no mesmo site ao qual o cliente se conecta).
-
Ao utilizar codificação de apagamento em locais geograficamente distribuídos, há maior uso de tráfego de rede WAN para recuperações e reparos, especialmente para objetos recuperados com frequência ou para reparos de objetos em conexões de rede WAN.
-
Ao usar codificação de apagamento entre sites, a taxa de transferência máxima de objetos diminui drasticamente à medida que a latência de rede entre os sites aumenta. Essa diminuição resulta da redução na taxa de transferência da rede TCP, o que afeta a velocidade com que o sistema StorageGRID consegue armazenar e recuperar fragmentos de objetos.
-
Maior utilização de recursos computacionais.
Quando usar codificação de apagamento
Utilize codificação de apagamento para os seguintes requisitos:
-
Objetos com tamanho superior a 1 MB.
A codificação de apagamento é mais adequada para objetos maiores que 1 MB. Não use codificação de apagamento para objetos menores que 200 KB para evitar a sobrecarga de gerenciar fragmentos codificados por apagamento muito pequenos. -
Armazenamento a longo prazo ou cold storage para conteúdo acessado com pouca frequência.
-
Alta disponibilidade de dados e confiabilidade.
-
Proteção contra falhas totais de site e nó.
-
Eficiência de storage.
-
Implantações em um único local que exigem proteção de dados eficiente com apenas uma única cópia com codificação de apagamento, em vez de várias cópias replicadas.
-
Implantações em múltiplos locais onde a latência entre sites é inferior a 100 ms.