Die Sensoraufbewahrung treibt die Speicherung von Smart-Home-Servern voran, indem sie die Anzahl der Entitäten, die Abtastfrequenz, den Aufzeichnungsaufwand, das Indexwachstum und die Sicherungshistorie im Laufe der Zeit vervielfacht.
Ein Haushalt beginnt möglicherweise mit einigen Temperatur- und Bewegungsentitäten und fügt dann Stromzähler, Luftqualitätssensoren, Leckdetektoren, Türkontakte, Wetterdaten, Gerätesteuerungen und berechnete Statistiken hinzu. Jeder Wert ist klein, aber der Server speichert Zeitstempel, Identifikatoren, Attribute, Indizes, Transaktionsaufzeichnungen und oft mehrere Sicherungskopien davon. Die folgenden Abschnitte zeigen, warum die Aufbewahrung eine Entscheidung über den Datenlebenszyklus ist und keine einfache „Bytes pro Sensor“-Berechnung, und wo Aggregation die langfristige Kurve verändert.
Speicherwachstum beginnt mit Proben pro Zeiteinheit
Die erste Variable ist, wie oft jede Entität einen neuen Datensatz erzeugt. Ein Temperatursensor, der alle fünf Minuten meldet, erzeugt 288 Messwerte pro Tag, während ein Stromzähler, der alle fünf Sekunden meldet, 17.280 erzeugt.
Langfristige ESPHome-Einsätze trennen oft hochfrequente Sensordaten von Daten mit niedrigerer Auflösung. Die Rohdatenrate bestimmt die anfängliche Schreiblast und die Detailgenauigkeit für spätere Analysen.
Multiplizieren Sie die Melderate mit der Anzahl der Entitäten und dem Aufbewahrungszeitraum. Ein Kanal mit hoher Rate kann mehr Zeilen erzeugen als Dutzende langsam ändernder Kontaktsensoren.
Ein Sensorwert belegt mehr als nur seine numerische Nutzlast
Ein Fließkommawert benötigt nur wenige Bytes, aber eine Datenbankzeile benötigt auch einen Zeitstempel, Entitätsreferenz, Schemafelder, Seitenplatz, Transaktionsmetadaten und manchmal wiederholte Attribute oder Statusstrings.
Zeitreihensysteme sind für zeitgestempelte Datensätze optimiert, aber der Speicher umfasst dennoch Chunk-Metadaten, Indizes, Write-Ahead-Logs und Kompaktierungsaufwand. Die Differenz zwischen Nutzlastgröße und Speicherplatz auf der Festplatte ist am größten, wenn Datensätze spärlich, textlastig oder häufig indexiert sind.
Deshalb ist die Schätzung der Aufbewahrung anhand von „acht Bytes pro Messwert“ unzuverlässig. Die korrekte Messgröße ist das tägliche Datenbankwachstum unter dem realen Schema, den Recorder-Einstellungen und dem Sensor-Mix.
Attribute-reiche Entitäten können besonders teuer sein, wenn sich beschreibendes JSON oft ändert oder über Historienzeilen dupliziert wird.
Indizes und Abfragegeschwindigkeit verursachen eigene Speicheranforderungen
Historische Dashboards müssen eine Entität über einen Zeitraum finden, mehrere Sensoren vergleichen und tägliche oder monatliche Aggregationen berechnen. Indizes beschleunigen diese Abfragen durch zusätzliche durchsuchbare Strukturen.
Eine vergleichende Studie von Zeitreihendatenbanken zeigt, dass Schreibleistung, Kompression, Abfrageverhalten und Speichereffizienz je nach Datenbankdesign variieren. Ein Layout, das für schnelle aktuelle Abfragen optimiert ist, kann mehr Index- oder Speicherressourcen verbrauchen als ein einfaches Append-Only-Archiv.
Das Entfernen aller Indizes spart Speicherplatz, kann aber mehrjährige Diagramme und Fehlerbehebung unpraktisch machen. Die Aufbewahrungsplanung balanciert daher rohe Kapazität gegen die erwarteten Abfragen des Haushalts.
Rohdaten- und historische Aufbewahrung benötigen unterschiedliche Auflösungen
Für aktuelle Fehlerbehebungen sind möglicherweise alle fünf Sekunden Strommesswerte erforderlich, während ein fünfjähriger Energievergleich nur stündliche oder tägliche Summen benötigt. Beide Fragen in Rohauflösung zu speichern, verschwendet Kapazität ohne nützliche Langzeitdetails.
Moderne TSDBs verwenden Aufbewahrungsrichtlinien, Kompression und Rollups, um Daten durch verschiedene Ebenen altern zu lassen. Rohdaten können nach Wochen oder Monaten verfallen, während stündliche, tägliche oder monatliche Aggregationen jahrelang erhalten bleiben.
Die Aggregationsfunktion muss zum Sensor passen. Temperatur benötigt möglicherweise Minimum, Maximum und Durchschnitt; Energiezähler benötigen Differenzen; Kontaktsensoren benötigen eher Dauer oder Übergangszählungen als arithmetische Mittelwerte.
Nach dem Löschen der Rohdatenzeilen kann eine Aggregation nicht jeden kurzen Ausschlag oder jedes Ereignis rekonstruieren. Wählen Sie den Rollup erst, nachdem Sie entschieden haben, welche zukünftigen Fragen beantwortbar bleiben müssen.
Sicherungen vervielfachen den gespeicherten Datenbank-Fußabdruck
Die Live-Datenbank ist nur eine Kopie. Geplante Snapshots, Anwendungs-Backups, Dateisystem-Snapshots, Replikate, exportierte Archive und Offsite-Kopien können den effektiven Speicherbedarf der gleichen Historie vervielfachen.
Zeitreihenspeicher verwendet häufige Schreibvorgänge, daher beeinflussen Speicherpartitionen und Kompaktierungsmuster, wie effizient Snapshots Änderungen bewahren. Ein Backup-System, das die gesamte Datenbank wiederholt kopiert, wächst möglicherweise schneller als eines, das inkrementelle Blöcke oder native Exporte erfasst.
Die Aufbewahrung sollte daher sowohl für das Live-System als auch für seine Backups definiert werden. Das Löschen alter Zeilen aus der aktiven Datenbank gibt keinen Speicherplatz von einem unveränderlichen Snapshot frei, bis dieser abläuft.
Messen Sie das tägliche Wachstum, bevor Sie ein Aufbewahrungsfenster wählen
Betreiben Sie die vorgesehenen Sensoren mindestens eine repräsentative Woche lang und erfassen Sie Datenbankgröße, tägliche Zeilenanzahl, Schreibvolumen, Backup-Differenz und die größten Entitäten. Berücksichtigen Sie normale Wochentage, HVAC-Zyklen, energieintensive Geräte und Geräte, die sich neu verbinden oder wiederholt Zustände senden.
Ein dedizierter Langzeit-Datenspeicher kann detaillierte Automationshistorie von mehrjährigen Analysen trennen. ZimaSpace’s Smart-Home-Speicherplan sollte Kapazität für den Live-Recorder, Langzeit-Aggregate, Datenbankwartung und Backup-Aufbewahrung als separate Posten reservieren.
Prognostizieren Sie das gemessene tägliche Wachstum über den Rohdaten-Aufbewahrungszeitraum, fügen Sie dann Index-Overhead, freien Speicher für Kompaktierung und jede aufbewahrte Backup-Generation hinzu. So entsteht eine Kapazitätsschwelle, die auf dem tatsächlichen Haushalt basiert und nicht auf einer generischen Sensoranzahl.
FAQ
Verwenden nur Ereignis-Sensoren fast keinen Speicher?
Sie erzeugen normalerweise weniger Zeilen als hochfrequente Messungen, aber wiederholte Attribute, nicht verfügbare Zustände, Neuverbindungen und automatisierungsgenerierte Entitäten können die Historiengröße dennoch erhöhen.
Entfällt durch Kompression die Notwendigkeit von Aufbewahrungsgrenzen?
Nein. Kompression reduziert den Speicherbedarf pro Datensatz, aber ein unbegrenzter Datenstrom wächst weiter, ebenso seine Backups, Indizes und Wartungsfenster.
Sollte die gesamte Sensorhistorie dieselbe Aufbewahrungsdauer haben?
Nein. Kurzlebige Diagnosedaten, Sicherheitsereignisse, Energiestatistiken und Umwelttrends benötigen oft unterschiedliche Auflösungen und Aufbewahrungszeiträume.
Tech- & KI-Zentrum
Mehr zum Lesen

Warum verändert sich die Architektur von Home Assistant, wenn ein Heimserver weitere Dienste hinzufügt?
Mehr Dienste verändern die Architektur von Home Assistant, wenn sie gemeinsamen Zustand, Warteschlangen, Geräte, Aktualisierungszyklen oder Fehlerdomänen hinzufügen – nicht bloß weitere Container.

So misst du die Leistung von Home Assistant, ohne Cache mit Kapazität zu verwechseln
Ein warmes Ergebnis belegt Wiederverwendung, nicht Kapazität. Messen Sie den Kaltstart, den stabilen Warmzustand, wiederholte Last, die Tail-Latenz und die zuerst ausgelastete Ressource.

Wie viel Automatisierungsparallelität benötigt Home Assistant für die Steuerung des gesamten Hauses?
Die meisten Automatisierungen im ganzen Haus benötigen nur begrenzte Überschneidungen. Dimensioniere die Parallelität anhand von Ausführungsdauer × Auslösungsrate und begrenze sie anschließend auf eine...

