Duża baza danych Home Assistant nie musi być automatycznie wymieniana. Wzrost rozmiaru, wolna historia lub plik, który pozostaje duży po czyszczeniu, zwykle wymagają najpierw ustawienia przechowywania danych, filtrowania, poprawy pamięci masowej lub przepakowania bazy. Wymiana staje się bardziej uzasadniona, gdy bazy nie można regularnie otworzyć, pojawiają się powtarzające się błędy integralności albo Home Assistant odizolował ją już jako uszkodzoną.
Oddziel „wymaga konserwacji” od „nie można już ufać stanowi danych”. Pierwsza kategoria powinna zachować użyteczną historię. Druga wymaga zabezpieczenia uszkodzonej bazy, przywrócenia sprawnej kopii lub utworzenia nowej bazy Recorder oraz ustalenia przyczyny uszkodzenia, zanim wznowione zostaną zwykłe operacje zapisu.
Szybki wzrost to najpierw sygnał potrzeby konserwacji, a dopiero potem wymiany
Sprawdź szacowany rozmiar Recorder i dzienny przyrost. Jeśli kilka generujących dużo danych encji, zbyt długie przechowywanie surowej historii lub niepotrzebne zdarzenia dominują w bazie, ogranicz napływające dane, zanim usuniesz cały plik.
Aktualne zalecenia Home Assistant dotyczące pamięci masowej obejmują usuwanie starych danych Recorder, filtrowanie rejestrowanych danych oraz dostosowanie okresu przechowywania, gdy baza staje się zbyt duża.
Jeśli wzrost spowolni po zmianie filtrowania lub okresu przechowywania, sama baza może być sprawna. Kontynuuj monitorowanie zamiast resetować historię tylko dlatego, że bezwzględny rozmiar pliku wydaje się niepokojący.
Duży plik po czyszczeniu może wymagać przepakowania, a nie wymiany
Usuwanie starych wierszy może zwolnić miejsce wewnątrz bazy do ponownego wykorzystania, ale nie zmniejszyć pliku na dysku. Przepakowanie przepisuje bazę, dzięki czemu miejsce w systemie plików może zostać odzyskane.
Wykonuj tę operację tylko przy wystarczającej ilości wolnego miejsca i po sprawdzeniu kopii zapasowej. Wolna lub duża baza podczas przepakowywania nie jest dowodem, że dane należy odrzucić.
Powtarzające się błędy uszkodzenia lub integralności są poważniejszym sygnałem ostrzegawczym
Błędy bazy danych, takie jak uszkodzone strony, nieudane kontrole integralności, powtarzające się błędy wejścia-wyjścia lub uszkodzenia powracające po sprawnym przywróceniu, wymagają innej reakcji niż zwykły wzrost rozmiaru. Zabezpiecz plik i wstrzymaj destrukcyjne czynności konserwacyjne, ustalając, czy problemu nie powodują pamięć masowa, utrata zasilania, przeciążenie pamięci lub system plików.
Nieodwracalne uszkodzenie SQLite to zdarzenie wymagające odzyskiwania danych, a nie zwykła czynność konserwacyjna: Home Assistant może odsunąć uszkodzoną bazę Recorder na bok i uruchomić nową, dzięki czemu reszta systemu pozostanie dostępna. To znacznie silniejszy sygnał przemawiający za wymianą niż zwykły wzrost rozmiaru lub wolne zapytania dotyczące historii.
Jeśli potrzebujesz niskopoziomowej kontroli SQLite, PRAGMA integrity_check może sprawdzić spójność bazy danych. Korzystaj z kopii lub wykonuj te czynności w kontrolowanym oknie konserwacyjnym, gdy używasz ręcznych narzędzi do obsługi baz danych.
Wymiana ma sens, gdy nie można ufać stanowi Recorder
Wymiana oznacza przywrócenie sprawnej bazy albo zezwolenie Home Assistant na utworzenie nowej, gdy zachowanie historii jest mniej ważne niż ponowne uruchomienie Recorder. Nie jest to podstawowa metoda optymalizacji wydajności.
Wybierz wymianę, gdy baza wielokrotnie nie daje się otworzyć, uszkodzenie utrzymuje się mimo standardowych prób odzyskiwania, sprawna kopia zapasowa jest bezpieczniejsza niż naprawa albo utrata starej historii jest akceptowalna, a stan konfiguracji pozostaje prawidłowy.
Poradnik ZimaSpace dotyczący zapisywania stanu przed ryzykowną konserwacją aplikacji jest tu przydatny: zachowaj możliwość wycofania zmian przed czyszczeniem, przepakowaniem, ręczną naprawą SQL lub wymianą bazy.
Wybierz kolejne działanie na podstawie rodzaju awarii
| Objaw | Pierwsze działanie | Wymiana? |
|---|---|---|
| Baza szybko rośnie | Filtrowanie generujących dużo danych encji / skrócenie okresu przechowywania | Nie |
| Plik pozostaje duży po czyszczeniu | Zaplanowanie przepakowania z zapasem wolnego miejsca | Nie |
| Zapytania dotyczące historii zwalniają podczas przeciążenia dysku | Pomiar opóźnień pamięci masowej | Zwykle nie |
| Uszkodzone strony lub błędy integralności | Zabezpieczenie pliku, sprawdzenie pamięci masowej, przywrócenie i przetestowanie kopii | Możliwe |
| Powtarzające się uszkodzenia po odzyskaniu | Zbadanie pamięci masowej i zasilania oraz przywrócenie sprawnego stanu | Często |
Nie usuwaj pliku home-assistant_v2.db tylko dlatego, że Home Assistant działa wolno. Najpierw ustal, czy problemem jest ilość danych, konserwacja, czas obsługi pamięci masowej czy rzeczywiste uszkodzenie.
FAQ
Czy powinienem usunąć home-assistant_v2.db, aby przyspieszyć Home Assistant?
Zwykle nie. Usunięcie pliku kasuje historię Recorder i może ukryć prawdziwą przyczynę problemu. Najpierw ogranicz niepotrzebne rejestrowanie, sprawdź pamięć masową i wolne miejsce oraz odpowiednio użyj czyszczenia lub przepakowania, a dopiero potem rozważ wymianę.
Wsparcie i wskazówki
Więcej do przeczytania

Ilu jednoczesnych użytkowników może obsłużyć Home Assistant, zanim zacznie działać wolniej?
Home Assistant nie ma stałego, użytecznego limitu użytkowników: przetestuj aktywnych klientów z rzeczywistymi pulpitami i aktualizacjami encji, a następnie zatrzymaj testy, zanim pojawią się...

Czy Home Assistant może korzystać z zewnętrznej bazy danych bez zakłócania aktualizacji?
Zewnętrzna baza danych Recorder może przetrwać aktualizacje, ale wiąże się z własną dostępnością, migracją schematu, tworzeniem kopii zapasowych, przywracaniem oraz obowiązkami związanymi z wersjonowaniem.

Jak sprawdzić, czy DNS powoduje problemy z połączeniem Home Assistant
Potwierdź awarię DNS w Home Assistant, testując tę samą nazwę hosta z dotkniętej ścieżki, porównując dostępność bezpośrednio przez adres IP oraz sprawdzając odpowiedzi A/AAAA.

