[Article] Historiques et statistiques : maîtriser votre BD

Maîtrisez vous l’enregistrement de vos historiques ? Comment sont enregistrées les données sur le long terme avec les statistiques? Comment bien configurer son recorder ? Autant de notions cruciales et pas forcément simples à appréhender. Ce sont les sujets abordés dans ce nouvel article.

N’hésitez pas à faire part de vos questions ou commentaires.

19 « J'aime »

À titre d’exemple, ma base de données personnelle est la même depuis 4 ans, elle fait 440 Mo, pour 700.000 lignes dans la table « states », et plus de 550 entités stockées

Va falloir que j’optimise un peu alors:

2 « J'aime »

Merci, ça m’intéresse

Pas réussi à optimiser de mon côté.

bonjour, merci pour ces infos :slight_smile:

pour info, le FROM_UNIXTIME etait présent dans une ancienne verison de SQLITE , je m en servait bcp pour corriger mes données ( a moins que ca ne soit a du a mon changement de machine, avant j etait en debian sur odroid, et je suis passé en HAOS sur pi4 ) , mais la en chiffre non ‹ human readable › c est trop compliqué

quand a ma DB , 29,9Gb ,et je peux pas la purger, j ai pas 30go de libre sur mon ssd :frowning:
( je suis en retention 21j )
ne pas oublier de faire une purge de temps en temps ( a configurer dans le recorder ) , car par defaut, HA se contente d effacer la valeur dans la DB mais garde la place ( au cas ou )

2 « J'aime »

Si cela tourne parfaitement à quoi bon ?!

Ma BDD fait 25Go avec 1 an et demi de rétention puis history_stats prend le relai.
Pas besoin d’optimiser, je ne me bats plus avec ça.

Toujours étonné de voir des postes se vantant d’une BDD < 1Go.
A croire qu’ils font tourner HA sur une gameboy à l’heure des téraoctets vendus à la pelle.

Salut,
Tu peux croire ce que tu veux, mais le fait est que beaucoup de gens ont des soucis avec leurs systèmes lié à la taille de la DB.

La rétention c’est des recos de HA.
L’idée du maintien d’une taille limitée c’est moins pour une question d’espace disque que pour une question de facilité de manipulation des sauvegardes

Si ça marche parfaitement chez toi, super. Mais avec 25go en 1an et demi, ça ne fait que 45mo par jour, ce qui est minuscule! Donc soit tu as un petit système, soit tu as des optimisations configurées pour limiter la taille.

Salut

Sans parler de place, il y a aussi la performance à prendre en compte. Plus la base de données est petite, plus elle est performante.
De plus, HA est prévu pour une période de rétention bien plus courte. Il ne serait pas étonnant de trouver des bugs avec une durée de un an.

1 « J'aime »

C’est cool, cela va fixer les bases pour un grand nombre car c’est effectivement un sujet souvent abordé, notamment dans des crash en plein vol :slight_smile:

Je n’ai pas encore lu mais tu parles aussi de BDD déportée aussi et commune à HA et d’autres Systèmes ?

Bonjour @Usernet
La taille c’est toujours un sujet assez fun :wink:
C’est certain que 25Go c’est peu par rapport à la limite de 64TB (terabytes) pour une base MariaDB, après c’est un peu long pour les sauvegardes.
Ce que j’attends de ma domotique c’est de piloter ma maison à distance, je ne suis pas là pour savoir combien de fois j’ai allumé une lampe, combien a consommé mon lave linge, le savoir ne changera pas sa consommation.
Chacun voit et fait en fonction de ses envies et besoin, ma base reste sous les 400Mo, c’est comme ça :wink:
Comme disait une amie, mieux vaut une petite qui frétille qu’une grosse qui roupille mais les deux sont possible :rofl:
Au taf c’est oracle et nos DBA veillent :wink:
Bob

2 « J'aime »

Bon je n’aurai pas osé la comparaison, mais en phase :joy:
Un autre point pas abordé : quand on paire un nouvel appareil, il faut commencer par désactiver les entités inutiles… C’est le premier point pour ne pas avoir une base énorme et un système difficilement maintenable…

3 « J'aime »

et il n’y a pas de moyens de plutôt réduire l’échantillonnage ?

Hello, sur le principe je suis d’accord, maintenant fais-le quand même avec ton frigo ton lave vaisselle et ton lave linge.
Quand tu verras que ton frigo consomme le double par jour pour faire autant de froid (esp+bme à l’intérieur) tu auras une vrai alerte pour te dire de regarder de très près ce qu’il se passe.

Bonjour,
En fait j’ai la consommation du lave linge mais c’est juste pour envoyé une notification en fin de lavage et un message sonore sur media player.
Je comprends bien ça puisse signaler des problèmes si il y a un gros changement de conso.
Bob

Merci pour le tuto : j’ai enfin pu corriger quelques soucis dans ma BDD à la main ^^

Salut,

Pour un de messensor qui s’enregistrait toutes les 2 sec, j’ai créé un filtre de type throttle.
Comme ça tu exclue l’entité originale du recorder et tu gardes l’entité filtre.
Ce n’est pas forcément applicable a toutes les entités, mais peut être un moyen.

Salut tout le monde.
Pour ceux qui ont comme moi une énorme bdd, pourriez vous me dire combien de temps a pris la migration suite à la dernière mise a jour avec les changements de schéma qui y sont associés ?

Alors oui je pense qu’il manque quelque chose dans l’article, notamment lorsqu’on arrive à la partie « notion plus avancées », et sur les requêtes SQL. Il n’y aucun conseil sur où exécuté ses commandes. On se doute bien que c’est via un utilitaire ou un addon mais ça mériterai d’être creuser avant de mettre les requêtes SQL qui sont intéressantes !

Un module complémentaire, SQLite Web, est disponible pour explorer la base.

en fait c’est mentionné dans la partie base de donnée au début de l’article :wink:

2 « J'aime »