Home Assistant non applica alcun moltiplicatore universale allo spazio di archiviazione; l'overhead dipende dalla frequenza degli eventi, dalla cronologia conservata, dalle statistiche, dagli indici, dai log, dai backup, dagli add-on e dallo spazio di lavoro temporaneo.
Un sensore di temperatura può inviare valori minimi, ma le sue variazioni possono diventare stati con marca temporale, attributi, voci di indice, aggregati, copie di backup e metadati del file system. I clip delle telecamere o i dati degli add-on possono invece dominare per ragioni completamente diverse. Una stima utile deve quindi separare ogni funzione di archiviazione e misurarne la crescita giornaliera in base al numero effettivo di entità della casa, alla frequenza degli aggiornamenti, alla conservazione, al livello di logging e alla politica di backup.
I valori sorgente diventano dati strutturati del Recorder
I dati sorgente sono semplicemente i valori ricevuti da un dispositivo o da un'integrazione. Recorder archivia le variazioni di stato e gli eventi selezionati, con orari, riferimenti alle entità, attributi e una struttura relazionale, così che la cronologia e le altre funzioni possano interrogarli. Di conseguenza, una breve lettura come 21.4 occupa più spazio dei caratteri visibili una volta inclusi le pagine del database e i relativi collegamenti.
Home Assistant mantiene gli stati grezzi insieme a forme statistiche a breve e lungo termine. Questa spiegazione dettagliata del modello del database e delle statistiche mostra perché lo spazio occupato dipende dalla frequenza delle variazioni e dalle regole di aggregazione, non dalle dimensioni nominali del payload di un sensore.
Questo primo livello è generalmente guidato dalla frequenza: le entità che cambiano spesso generano più righe rispetto a quelle stabili, mentre gli attributi dettagliati possono amplificare la differenza. Mille entità non implicano lo stesso consumo di spazio in ogni abitazione. Per prevedere l'overhead servono il numero di variazioni giornaliere, i giorni di conservazione e l'impatto medio di ogni riga archiviata, non solo il numero di entità.
Indici e pagine del database aggiungono spazio strutturale
Un database relazionale necessita di strutture che rendano le righe persistenti e ricercabili. Pagine delle tabelle, indici, pagine libere, journal e log write-ahead possono occupare spazio oltre al contenuto logico delle righe. Queste strutture migliorano la coerenza e le prestazioni delle query, ma le loro dimensioni su disco non diminuiscono sempre immediatamente quando viene eliminata la cronologia precedente.
SQLite memorizza tabelle e indici in pagine di dimensione fissa, quindi le dimensioni fisiche riflettono l'allocazione delle pagine anziché una semplice somma delle lunghezze dei campi. Una guida accessibile al layout delle pagine di SQLite spiega come record, indici e spazio libero coesistano all'interno del file del database.
Si ottengono così due misurazioni diverse: i dati conservati logicamente e lo spazio allocato fisicamente. Una pulizia può ridurre il primo senza diminuire immediatamente il secondo, mentre un'operazione di manutenzione può richiedere ulteriore spazio temporaneo prima di restituire spazio libero. La pianificazione della capacità deve mantenere un margine operativo, invece di considerare il file del database attuale come il fabbisogno massimo possibile.
Le statistiche sacrificano il dettaglio per la conservazione a lungo termine
La cronologia a breve termine conserva le variazioni dettagliate per un periodo limitato, mentre le statistiche a lungo termine mantengono aggregati compatti per le entità numeriche supportate. L'aggregazione riduce il tasso di crescita per entità rispetto alla conservazione permanente di ogni stato grezzo, ma crea un altro insieme di dati persistente, con una durata diversa da quella della cronologia ordinaria.
Un modello di dati di Home Assistant può quindi contenere contemporaneamente stati grezzi, campioni statistici a breve termine e riepiloghi orari a lungo termine. La suddivisione pratica illustrata in questo articolo sulle integrazioni per serie temporali chiarisce perché l'analisi storica introduca spesso una funzione di archiviazione aggiuntiva rispetto alle esigenze dello stato corrente del controller.
Il risultato dipende dal caso: una casa con molte entità binarie stabili può avere un overhead statistico modesto, mentre i sensori energetici e ambientali possono accumulare aggregati conservati a lungo. Le statistiche a lungo termine non sono una copia della cronologia grezza; conservano un valore analitico a risoluzione inferiore. Stimale come una velocità giornaliera separata, invece di incorporarle in un unico moltiplicatore del database privo di spiegazioni.
Log, backup e livelli dei container moltiplicano lo spazio occupato
Lo spazio di Home Assistant comprende più di Recorder. I log possono crescere durante errori ripetuti o sessioni di debug. I backup possono copiare il database, la configurazione, lo stato degli add-on e le cartelle condivise selezionate. Le installazioni basate su container conservano inoltre immagini, livelli scrivibili, volumi e talvolta versioni precedenti o cache di compilazione sullo stesso disco di sistema.
L'utilizzo del disco da parte di Docker è distribuito su diversi archivi, non in una sola directory dell'applicazione. Questa guida alla gestione dello spazio su disco di Docker distingue immagini, container, volumi e cache, aiutando a spiegare perché la crescita del file system possa superare quella visibile nella cartella dei dati di Home Assistant.
La conservazione dei backup moltiplica i dati selezionati per il numero di copie, ma la compressione e il comportamento incrementale possono modificare il rapporto esatto. Un database attivo di 2 GB non garantisce che ogni backup aggiunga esattamente 2 GB, così come una piccola cartella di configurazione non dimostra che i backup resteranno contenuti. Misura separatamente il contenuto degli archivi e il numero di generazioni conservate.
Lo spazio temporaneo crea un picco superiore allo stato stazionario
La manutenzione del database, la creazione dei backup, la decompressione, gli aggiornamenti, il download delle immagini e le migrazioni possono richiedere spazio temporaneo mentre le versioni vecchia e nuova coesistono. Questo picco è facile da non considerare perché scompare al termine dell'operazione. Diventa un problema di affidabilità quando un'attività necessita di blocchi liberi per completarsi, ma il dataset nello stato stazionario ha già riempito la maggior parte del disco.
Il database principale e il WAL di SQLite possono conservare spazio allocato finché non si verificano le condizioni necessarie per il checkpoint o la compattazione. Un'analisi delle prestazioni sulla crescita dei file SQLite spiega perché il database e il log write-ahead possano espandersi in modo diverso dai dati logici visibili all'applicazione.
Il picco richiesto dipende dall'operazione. Una riscrittura del database può necessitare di spazio correlato alle dimensioni del database, mentre un aggiornamento di un'immagine può conservare temporaneamente sia i livelli vecchi sia quelli nuovi. Le indicazioni di ZimaSpace sullo spazio libero per le attività di Home Assistant forniscono soglie operative dopo aver identificato le componenti dell'overhead.
Quando un singolo rapporto di overhead non funziona
Una percentuale fissa non è valida quando domina una singola componente. Il logging di debug può superare Recorder durante un ciclo di errori; i contenuti video locali delle telecamere possono superare di molto ogni tabella del database; un add-on di grandi dimensioni può espandere il proprio volume; oppure una politica di conservazione dei backup prolungata può rendere le copie più grandi dello stato attivo. Anche i cambiamenti del carico di lavoro rendono rapidamente obsoleto il rapporto del giorno precedente.
Le guide all'esaurimento dello spazio su disco dei container distinguono immagini, livelli scrivibili, log, volumi e cache di compilazione proprio perché ognuno ha un meccanismo di crescita diverso. L'inventario in cinque parti di questa analisi dello spazio di archiviazione Docker dimostra perché un unico totale generale non possa identificare la fonte principale.
Il rapporto è inoltre fuorviante tra diversi tipi di installazione. Home Assistant OS, un container, una macchina virtuale e un pacchetto di sistema installato su un host supervisionato gestiscono i dati di sistema in modo diverso. Confronta configurazioni omogenee e mantieni i contenuti multimediali o i dati di altre applicazioni fuori dal calcolo, a meno che il backup o il runtime di Home Assistant non ne siano effettivamente proprietari.
Costruisci un modello della crescita dello spazio su sette giorni
Definisci una rilevazione iniziale per i file del database, la configurazione, i log, i backup, i volumi degli add-on, le immagini e i livelli dei container, i contenuti multimediali e lo spazio libero. Mantieni costanti le impostazioni di conservazione e logging per sette giorni rappresentativi. Registra ogni componente quotidianamente alla stessa ora e annota aggiornamenti, riavvii, attività di backup, errori insoliti o aggiunte di dispositivi.
La gestione dello spazio inizia dalla visibilità, perché volumi, immagini, livelli scrivibili e cache hanno cicli di vita separati. Questo articolo sui componenti interni dello spazio di archiviazione Docker aiuta ad attribuire i byte misurati ai dati persistenti dell'applicazione anziché all'overhead del packaging di runtime.
Calcola la crescita giornaliera per ogni funzione, moltiplicala per il relativo periodo di conservazione, quindi aggiungi il maggiore picco temporaneo osservato e una riserva per il ripristino. Ripeti la verifica dopo aver aggiunto integrazioni o modificato logging, contenuti multimediali o backup. Questo modello per componenti produce un intervallo di capacità difendibile; un moltiplicatore universale non può farlo.
Hub Tecnologico e AI
Altro da leggere

Perché Home Assistant rielabora i dati esistenti dopo un aggiornamento?
Home Assistant potrebbe rielaborare i dati esistenti dopo un aggiornamento per rendere lo stato archiviato, gli indici, le cache e le integrazioni compatibili con...

Quali dipendenze determinano più spesso il vero limite delle prestazioni di Home Assistant?
Le prestazioni di Home Assistant sono limitate dalla dipendenza necessaria più lenta nel percorso dall’evento al risultato, non necessariamente dalla CPU dell’host.

Networking di Home Assistant: come individuazione, DNS e routing garantiscono la raggiungibilità
La raggiungibilità di Home Assistant richiede l’individuazione, una corretta risoluzione dei nomi, un percorso valido, traffico autorizzato e un endpoint in ascolto.

