La rétention des capteurs alimente le stockage des serveurs domestiques intelligents en multipliant le nombre d’entités, la fréquence des échantillons, la surcharge des enregistrements, la croissance des index et l’historique des sauvegardes au fil du temps.
Un foyer peut commencer avec quelques entités de température et de mouvement, puis ajouter des compteurs d’énergie, des capteurs de qualité de l’air, des détecteurs de fuites, des contacts de porte, des données météorologiques, la télémétrie des appareils et des statistiques calculées. Chaque valeur est petite, mais le serveur stocke des horodatages, des identifiants, des attributs, des index, des enregistrements de transactions et souvent plusieurs copies de sauvegarde autour. Les sections ci-dessous expliquent pourquoi la rétention est une décision liée au cycle de vie des données plutôt qu’un simple calcul de « octets par capteur » et où l’agrégation modifie la courbe à long terme.
La croissance du stockage commence par les échantillons par unité de temps
La première variable est la fréquence à laquelle chaque entité crée un nouvel enregistrement. Un capteur de température rapportant toutes les cinq minutes produit 288 relevés par jour, tandis qu’un compteur d’énergie rapportant toutes les cinq secondes produit 17 280.
Les déploiements ESPHome à long terme séparent souvent les données de capteurs à haute fréquence des données historiques à résolution plus faible. Le taux brut détermine la charge d’écriture initiale et la quantité de détails disponibles pour une analyse ultérieure.
Multipliez le taux de rapport par le nombre d’entités et la période de rétention. Un canal d’énergie à haut débit peut générer plus de lignes que des dizaines de capteurs de contact à évolution lente.
Une valeur de capteur occupe plus que sa charge utile numérique
Une valeur en virgule flottante peut n’utiliser que quelques octets, mais une ligne de base de données nécessite aussi un horodatage, une référence d’entité, des champs de schéma, de l’espace de page, des métadonnées de transaction et parfois des attributs ou chaînes d’état répétés.
Les systèmes de séries temporelles sont optimisés pour les enregistrements horodatés, mais le stockage inclut toujours les métadonnées des segments, les index, les journaux d’écriture anticipée et la surcharge de compactage. L’écart entre la taille de la charge utile et la taille sur disque est le plus grand lorsque les enregistrements sont rares, riches en texte ou fréquemment indexés.
C’est pourquoi estimer la rétention à partir de « huit octets par lecture » est peu fiable. La mesure correcte est la croissance de la base de données par jour selon le schéma réel, les paramètres d’enregistrement et le mélange de capteurs.
Les entités riches en attributs peuvent être particulièrement coûteuses lorsque le JSON descriptif change souvent ou est dupliqué dans les lignes historiques.
Les index et la vitesse des requêtes ajoutent leur propre coût de stockage
Les tableaux de bord historiques doivent localiser une entité sur une plage temporelle, comparer plusieurs capteurs et calculer des agrégats quotidiens ou mensuels. Les index accélèrent ces requêtes en stockant des structures supplémentaires consultables.
Une étude comparative des bases de données de séries temporelles montre que les performances d’écriture, la compression, le comportement des requêtes et l’efficacité du stockage varient selon la conception de la base. Une disposition optimisée pour des requêtes récentes rapides peut utiliser plus de ressources d’index ou de mémoire qu’une archive simple en mode ajout uniquement.
Supprimer tous les index économise de l’espace mais peut rendre les graphiques pluriannuels et le dépannage impraticables. La planification de la rétention équilibre donc la capacité brute avec les requêtes que le foyer prévoit d’exécuter.
La rétention brute et la rétention historique nécessitent des résolutions différentes
Un dépannage récent peut nécessiter chaque relevé d’énergie toutes les cinq secondes, tandis qu’une comparaison énergétique sur cinq ans peut n’avoir besoin que de totaux horaires ou quotidiens. Conserver les deux questions à résolution brute gaspille la capacité sans ajouter de détails utiles à long terme.
Les TSDB modernes utilisent des politiques de rétention, la compression et les rollups pour faire vieillir les données à travers différents niveaux. Les enregistrements bruts peuvent expirer après quelques semaines ou mois tandis que les agrégats horaires, quotidiens ou mensuels restent pendant des années.
La fonction d’agrégation doit correspondre au capteur. La température peut nécessiter minimum, maximum et moyenne ; les compteurs d’énergie peuvent nécessiter des différences ; les capteurs de contact peuvent nécessiter la durée ou le nombre de transitions plutôt que des moyennes arithmétiques.
Une fois les lignes brutes supprimées, un agrégat ne peut pas reconstruire chaque pic ou événement court. Choisissez le rollup seulement après avoir décidé quelles questions futures doivent rester répondables.
Les sauvegardes multiplient l’empreinte de la base de données retenue
La base de données active n’est qu’une copie. Les instantanés programmés, les sauvegardes d’application, les instantanés du système de fichiers, les réplicas, les archives exportées et les copies hors site peuvent multiplier le stockage effectif consommé par la même histoire.
Le stockage des séries temporelles utilise des écritures fréquentes, donc les partitions de stockage et les schémas de compactage influencent l’efficacité avec laquelle les instantanés préservent les changements. Un système de sauvegarde qui copie à répétition toute la base peut croître plus vite qu’un système qui capture des blocs incrémentiels ou des exports natifs.
La rétention doit donc être définie à la fois pour le système actif et ses sauvegardes. Supprimer les anciennes lignes de la base active ne libère pas d’espace sur un instantané immuable tant que cet instantané n’a pas expiré.
Mesurez la croissance quotidienne avant de choisir une fenêtre de rétention
Faites fonctionner les capteurs prévus pendant au moins une semaine représentative et enregistrez la taille de la base, le nombre de lignes quotidiennes, le volume d’écriture, le delta de sauvegarde et les plus grandes entités. Incluez les jours de semaine normaux, les cycles HVAC, les appareils à forte consommation et les dispositifs qui se reconnectent ou envoient des états répétés.
Un stockage de données à long terme dédié peut séparer l’historique détaillé de l’automatisation des analyses pluriannuelles. Le plan de stockage intelligent de ZimaSpace doit réserver une capacité pour l’enregistreur actif, les agrégats à long terme, la maintenance de la base et la rétention des sauvegardes comme postes distincts.
Projetez la croissance quotidienne mesurée sur la période de rétention brute, puis ajoutez la surcharge des index, l’espace libre pour le compactage et chaque génération de sauvegarde retenue. Cela produit un seuil de capacité fondé sur le foyer réel plutôt que sur un nombre générique de capteurs.
FAQ
Les capteurs uniquement événementiels utilisent-ils presque pas de stockage ?
Ils créent généralement moins de lignes que les mesures à haute fréquence, mais les attributs répétés, les états indisponibles, les reconnexions et les entités générées par l’automatisation peuvent quand même augmenter la taille de l’historique.
La compression supprime-t-elle le besoin de limites de rétention ?
Non. La compression réduit le stockage par enregistrement, mais un flux illimité continue de croître ainsi que ses sauvegardes, index et fenêtres de maintenance.
Toute l’historique des capteurs doit-il utiliser une même période de rétention ?
Non. Les données diagnostiques à courte durée de vie, les événements de sécurité, les statistiques énergétiques et les tendances environnementales nécessitent souvent des résolutions et des fenêtres de rétention différentes.
Centre Tech & IA
Plus à lire

Pourquoi l’architecture de Home Assistant change-t-elle lorsqu’un serveur domestique ajoute davantage de services ?
Davantage de services modifient l’architecture de Home Assistant lorsqu’ils ajoutent un état partagé, des files d’attente, des appareils, des cycles de mise à jour...

Comment mesurer les performances de Home Assistant sans confondre le cache avec la capacité
Un résultat à chaud prouve la réutilisation, pas la capacité. Mesurez le démarrage à froid, le régime stable à chaud, la charge répétée, la...

De quel niveau de concurrence d’automatisations Home Assistant a-t-il besoin pour contrôler toute la maison ?
La plupart des automatisations pour toute la maison ne nécessitent qu’un chevauchement limité ; dimensionnez la concurrence d’après la durée d’exécution × le taux de...

