Bon, aller pour ne pas laisser Estelle dans la confusion.
Bud Spencer a écrit :destroyedlolo a écrit :Code : Tout sélectionner
CREATE TABLE Domestik.probe_cpuload (
host TEXT NOT NULL,
load1 REAL,
load5 REAL,
load10 REAL,
sample_time TIMESTAMP WITH TIME ZONE
);
Ce qui structurellement revient exactement au même que ce qu'elle avait fait.
C'est un EXEMPLE, et dans cette exemple, je stocke la charge CPU d'un serveur et, comme chaque admin le sait (la cible de la table que je donne en exemple), cette charge est donnée pour 1, 5 et 10 minutes, d'où 3 valeurs pour un même
host.
Dans le cas des ruches, il est évident qu'il n'y aura qu'une seule valeur stockée.
Bref, le schema pour des ruches serait
Code : Tout sélectionner
CREATE TABLE ruches (
id SMALLINT NOT NULL,
poids REAL,
sample_time TIMESTAMP WITH TIME ZONE
);
Bud Spencer a écrit :Si par contre dans ton modèle tu ne compares pas une ruche à une charge mais à un host, c'est encore pire parce que tu vas stocker à chaque enregistrement tous le éphémérides en plus de la mesure de poids individuelle et la, ca explose en terme de quantité de données.
Un timestamp : 8 octets
Un small int : 2 octets
Un real : 4 octets
Soit un peu plus de 120k de données pures sur une année pour 24 ruches, soit environs 150k sur l'année si on tient compte d'un surpoids de 25% pour la soupe interne de la bdd.
sauf que :
Bud Spencer a écrit :Dans ce cas sa méthode de stockage de toute les ruches en même temps dans un même enregistrement est beaucoup plus simple et beaucoup moins gourmande.
sauf que donc, ce genre de méthode, en plus de demander de modifier son schéma à chaque ajout/suppression d'une ruche, à l'inconvénient de nécessiter que toutes les données soient présentent au même moment pour être stocké en base, ce qui est le pire SPOF qu'on puisse trouver dans un Scada (car c'est grosso modo ce qu'Estelle met en place).
Et quand on prend cet aspect en compte, ca n'a rien de simple. Et encore plus, si les balances des ruches sont intelligentes et poussent elles-mêmes les données.