Dies ist eine alte Version des Dokuments!
Hier habe ich mal eine Übersicht aller Daten (Enities) und deren Referenzierung im Volkszähler Projekt erstellt.
Kanäle sind laut unserer definitions jede Art von Zähler oder Sensor (Strom, Wasser, Gas, Luftdruck, Feuchtigkeit etc).
Folgende Daten sind mit einem Kanal verbunden:
Die Messwerte bestehen aus folgenden Daten:
Die Gruppierung der Zähler hat mehrere Aufgaben:
Im Daten Abschnitt fielen schon mehrmals die Begriffe UCID, UGID usw. Gemeint sind damit [http://de.wikipedia.org/wiki/Universally_Unique_Identifier UUID]s gemäß [http://tools.ietf.org/html/rfc4122 RFC4122].
Diese IDs können eine Gruppe, einen Kanal usw. weltweit eindeutig referenzieren. Aufgrund der vielen Möglichkeiten ist eine Absprache, Reservierung über die Nutzung von UUIDs nicht nötig, da die Kollisionsgefahr sehr gering ist (vgl. sha1-Hashes bei git).
Das ganze hat Vorteile:
und Nachteile:
Um Speicherplatz zu sparen nutzt das Backend intern nur 2byte lange IDs. Diese werden mit Foreign Keys in der Datenbank untereinander verknüpft. Das sorgt dafür das wir zusätzlich zur Absicherung im Backend keine inkonsistenten Daten bekommen können.