Que dados do Immich têm de persistir e por que motivo são importantes as funções de armazenamento?

Eva Wong é a Redatora Técnica e e entusiasta residente na ZimaSpace. Uma geek de longa data com paixão por homelabs e software de código aberto, ela é especialista em traduzir conceitos técnicos complexos em guias acessíveis e práticos . Eva acredita que o auto-hospedagem deve ser divertida, não intimidante. Através dos seus tutoriais, ela capacita a comunidade adesmistificar configurações de hardware , desde a construção do seu primeiro NAS até dominar os contêineres Docker., from building their first NAS to mastering Docker containers.

A fiabilidade do Immich depende de manter os originais autoritativos e o estado da aplicação persistentes, tratando simultaneamente os derivados regeneráveis e o trabalho temporário como funções de armazenamento distintas.

Colocar todos os diretórios num único volume pode funcionar, mas oculta quais os dados que têm de sobreviver a uma reconstrução, quais podem ser recriados e quais devem permanecer independentes como cópia de segurança. Essa distinção controla o tempo de recuperação, a localização do armazenamento e a segurança das operações de limpeza mais do que os próprios nomes dos diretórios.

Os conteúdos multimédia originais são a função de conteúdo insubstituível

As fotografias e os vídeos carregados são as memórias da família que a aplicação existe para preservar. O caminho de armazenamento pode variar consoante a implementação e as escolhas do modelo de armazenamento, mas a sua função mantém-se: são ativos de origem, não uma cache, e a sua perda não pode ser corrigida através da regeneração de miniaturas ou índices de pesquisa.

Uma visão geral atual sobre alojamento próprio que separa a localização dos conteúdos multimédia e da base de dados é útil porque apresenta o armazenamento como uma questão de conceção de fiabilidade, e não como um simples número de capacidade. Considere as sugestões de hardware como exemplos, preservando, contudo, a distinção mais geral entre os originais em grande volume e o estado ativo da aplicação.

Não classifique um diretório com base na facilidade de recriar o contentor. Os contentores e as imagens de aplicações são substituíveis; os conteúdos multimédia montados que referenciam podem não ser. Antes de qualquer limpeza ou migração, identifique a localização canónica dos originais e verifique se existe uma cópia independente.

O PostgreSQL é a função de relação autoritativa

A base de dados preserva o conhecimento que a aplicação tem sobre utilizadores, ativos, caminhos, álbuns, partilhas, metadados, definições e o estado relacionado com a pesquisa. Uma pasta cheia de fotografias não é, portanto, equivalente a uma instância do Immich restaurada: o sistema de ficheiros e a base de dados descrevem partes diferentes da mesma biblioteca.

A arquitetura do serviço torna esta dependência visível ao separar o PostgreSQL do armazenamento multimédia e do processamento em segundo plano. Essa separação explica por que motivo a latência da base de dados pode afetar a interação e por que motivo uma cópia de segurança apenas dos conteúdos multimédia não consegue preservar todas as relações da aplicação.

O limite da falha é importante: um despejo da base de dados, por si só, também não é uma cópia de segurança das fotografias. Pode restaurar metadados e relações apenas quando os ficheiros multimédia correspondentes estão presentes no estado lógico esperado. Proteja ambos os lados e teste-os em conjunto.

Os conteúdos multimédia gerados trocam armazenamento por uma utilização mais rápida

As miniaturas, pré-visualizações e codificações de vídeo compatíveis existem para tornar a navegação e a reprodução práticas sem processar repetidamente os originais completos. Podem ocupar um espaço considerável, mas o seu valor na recuperação é diferente, porque muitos podem ser regenerados se os originais e o estado necessário da aplicação sobreviverem.

Um exemplo de laboratório doméstico com funções de armazenamento separadas mostra por que motivo os operadores colocam frequentemente o trabalho ativo da base de dados e o armazenamento de fotografias em grande volume de forma diferente. A questão não é que todas as casas precisem dos mesmos discos, mas sim que os dados gerados e sujeitos a muitas alterações podem ter uma política de desempenho e de cópia de segurança diferente da dos originais.

Ser regenerável não significa ser gratuito. Reconstruir derivados para uma grande biblioteca familiar pode consumir horas ou dias de CPU, operações de entrada/saída de armazenamento e tempo de fila. Excluí-los da cópia de segurança é uma decisão relacionada com o tempo de recuperação, não uma prova de que não têm valor operacional.

-15% OFF

As filas e as caches não são uma fonte duradoura de verdade

O estado das filas e as caches ajudam o sistema em execução a coordenar e acelerar o trabalho, mas não devem tornar-se o único local onde existe um facto insubstituível. Se uma fila temporária desaparecer após um reinício, o estado persistente da base de dados e do sistema de ficheiros deve ainda permitir que a aplicação determine o que tem de acontecer a seguir.

O artigo da ZimaSpace sobre o caminho de dados do Immich é útil para separar o estado persistente dos serviços que encaminham os pedidos pelo sistema. Uma fila explica o trabalho em curso; não deve ser confundida com o arquivo familiar propriamente dito.

Este modelo deixa de ser seguro se uma integração personalizada armazenar um estado único apenas num caminho temporário, numa camada de contentor sem cópia de segurança ou numa localização de serviço auxiliar não documentada. Faça um inventário das montagens e substituições personalizadas antes de presumir que as categorias de persistência predefinidas abrangem toda a implementação.

Crie uma matriz de recuperação antes de mover o armazenamento

Enumere cada função — originais, perfis, base de dados, miniaturas geradas, vídeo codificado, cache de modelos, cópias de segurança, configuração e quaisquer bibliotecas externas. Para cada uma, registe o caminho no anfitrião, se é autoritativa, se pode ser regenerada, a perda máxima aceitável e o tempo de restauro previsto.

O guia de cópia de segurança de fotografias familiares da ZimaSpace estabelece o limite operacional correto: um serviço familiar utilizável requer conteúdos multimédia protegidos, além do estado da aplicação necessário para manter esses conteúdos coerentes após uma falha.

Aceite a conceção de persistência apenas quando um anfitrião novo conseguir restaurar originais representativos, contas e relações, e depois regenerar quaisquer derivados deliberadamente excluídos. Se a recuperação depender de se lembrar de um volume não documentado ou de recuperar uma camada de escrita de um contentor, as funções de armazenamento ainda não estão definidas de forma segura.

Centro de Tecnologia e IA

Mais para Ler

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.