Umiejscowienie bazy danych Immich wpływa na niezawodność, ponieważ opóźnienia, zachowanie systemu plików i dostępność punktu montowania decydują o tym, czy autorytatywne zapisy pozostają terminowe i trwałe.
Serwer domowy może bezpiecznie przechowywać oryginały na serwerze NAS, a mimo to działać niestabilnie, gdy jego aktywna baza danych korzysta z tego samego montowania sieciowego. Ważne rozróżnienie nie dotyczy wyłącznie dysku SSD lub HDD, lecz tego, czy operacje bazy danych otrzymują przewidywalną lokalną obsługę oraz czy kopie odzyskiwania istnieją poza tą samą domeną awarii.
Baza danych przechowuje autorytatywne relacje, a nie tylko pamięć podręczną
Immich używa bazy danych do łączenia użytkowników, własności, albumów, rekordów zasobów, metadanych i wyników przetwarzania. Tych relacji nie da się odtworzyć wyłącznie na podstawie znalezienia plików obrazów na dysku. Awaria lokalizacji może zatem pozostawić oryginalne zdjęcia nienaruszone, podczas gdy aplikacja utraci strukturę, która sprawia, że kolekcja pozostaje użyteczna.
Artykuł ZimaSpace o kopii zapasowej Immich wskazuje oryginały i bazę danych jako niezbędną parę do odzyskiwania. To rozróżnienie wyjaśnia, dlaczego lokalizacja bazy danych wymaga bardziej rygorystycznego podejścia niż przechowywanie miniatur: utrata bazy danych lub jej niespójność zmienia tożsamość, dostęp i organizację biblioteki, nawet gdy pliki multimedialne pozostają zachowane.
Decyzję dotyczącą lokalizacji zacznij od sklasyfikowania danych. Oryginały i baza danych wymagają niezależnej ochrony, natomiast miniatury i zakodowane kopie można odtworzyć kosztem czasu. Umieszczenie wszystkich katalogów na jednym dużym woluminie upraszcza ścieżki, ale jednocześnie wiąże dane autorytatywne i pochodne z tą samą awarią.
Zmienność opóźnień może przekształcić zwykłe zapisy w niestabilność usługi
Bazy danych wykonują wiele małych, synchronicznych i losowych operacji, w przypadku których czas zakończenia ma większe znaczenie niż wynik pojedynczego transferu dużego pliku. Gdy opóźnienie staje się zmienne, transakcje czekają dłużej, kolejki zadań się wydłużają, a żądania użytkowników mogą blokować się za zmianami stanu. Punkt montowania może pozostać technicznie połączony, a mimo to zapewniać operacyjnie nieprzewidywalne czasy odpowiedzi.
Wdrożenie opisane przez społeczność TrueNAS przechowywało dane PostgreSQL Immich na dysku SSD, przenosząc ścieżki zbiorczej biblioteki i zakodowanych filmów na dyski HDD. Wartość tego przykładu polega na rozdzieleniu wzorców dostępu: oryginały wymagające dużej pojemności i wrażliwy na opóźnienia stan aplikacji nie muszą dzielić jednej fizycznej lokalizacji.
Mierz opóźnienia urządzenia i czas odpowiedzi bazy danych podczas jednoczesnego importowania, wyszukiwania i tworzenia kopii zapasowych. Wysoka przepustowość sekwencyjna nie dowodzi stabilnego działania transakcji. Jeśli skoki opóźnień pokrywają się z zatrzymanymi zadaniami lub błędami klientów, ogranicz współdzielenie kolejki albo przenieś aktywną bazę danych do ścieżki zapewniającej bardziej przewidywalny lokalny czas zakończenia operacji.
Lokalizacja sieciowa dodaje domeny awarii montowania i ścieżki
Baza danych na zdalnym nośniku zależy od klienta systemu plików hosta, interfejsu sieciowego, ścieżki przełączania, serwera pamięci masowej i stanu eksportu, zanim każda operacja wejścia-wyjścia zostanie zakończona. Każda z tych warstw może wstrzymywać działanie lub ponownie nawiązywać połączenie inaczej niż lokalny system plików. Nadmiarowe dyski w miejscu docelowym nie eliminują tych pośrednich zależności.
Szczegółowa analiza konfiguracji Immich Compose ostrzega przed umieszczaniem bazy danych na udziale sieciowym i odróżnia ją od pamięci masowej biblioteki multimediów. Choć artykuł opiera się na aktualnych oczekiwaniach dotyczących wdrożeń, jego trwały wniosek architektoniczny jest taki, że semantyka działania bazy danych i pojemność na dużą liczbę zdjęć to różne wymagania.
Ta granica działa również w drugą stronę: lokalna lokalizacja nie jest automatycznie niezawodna. Pojedynczy konsumencki dysk SSD bez ochrony zasilania, monitorowania systemu plików lub kopii zapasowej może nagle ulec awarii. Lokalność eliminuje zachowanie montowania sieciowego z aktywnej ścieżki, ale nie zapewnia wersjonowanego odzyskiwania ani ochrony przed utratą całego hosta.
Zweryfikuj lokalizację za pomocą testu domeny awarii
Utwórz tymczasową bibliotekę z testowymi użytkownikami, albumami, przesłanymi plikami i znanymi zapytaniami wyszukiwania. Zmierz opóźnienia bazy danych podczas reprezentatywnego importu oraz gdy system pamięci masowej wykonuje zwykłe zadanie tworzenia kopii zapasowej. Rejestruj błędy aplikacji, postęp kolejek, oczekiwanie urządzeń i najwolniejsze interaktywne żądanie zamiast polegać na średniej przepustowości.
Dyskusja społeczności dotycząca lokalizacji HDD i SSD wielokrotnie odróżnia aktywną bazę danych i wygenerowane dane od plików zbiorczej biblioteki. Komentarze są relacjami z doświadczeń, a nie uniwersalnym testem porównawczym, ale wzmacniają potrzebę testowania klasy wejścia-wyjścia, którą faktycznie generuje baza danych.
Następnie zasymuluj rzeczywistą awarię danej lokalizacji: odłącz zdalne montowanie albo zatrzymaj lokalny wolumin bazy danych w tymczasowym środowisku. Przywróć dane z niezależnej kopii i sprawdź użytkowników, członkostwo w albumach, dostęp do oryginałów oraz stan wyszukiwania. Lokalizacja przechodzi test tylko wtedy, gdy zarówno normalne działanie, jak i odzyskiwanie spełniają określony cel.
Centrum Technologii i Sztucznej Inteligencji
Więcej do przeczytania

Dlaczego Immich ponownie przetwarza istniejące dane po aktualizacji?
Immich może ponownie przetwarzać zasoby, gdy aktualizacja unieważni wcześniejsze wersje pochodne, metadane, modele lub stan zadań; powtarzająca się, niekończąca praca to osobna usterka.

Które zależności najczęściej wyznaczają rzeczywistą granicę wydajności Immich?
Immich jest ograniczony przez najwolniejszą zależność na każdej mierzonej ścieżce, dlatego przesyłanie, wyszukiwanie, przeglądanie i odtwarzanie mogą mieć różne limity.

Sieciowanie Immich: jak wykrywanie, DNS i routing zapewniają dostępność
Immich jest dostępny tylko wtedy, gdy wybór punktu końcowego, DNS, routing, NAT lub obsługa serwera proxy, TLS oraz odpowiedź aplikacji tworzą jedną prawidłową ścieżkę.

