Sida 1 av 1

Databasdesign

Postat: 13 mar 2016, 14:54
av Johannabacken
** Re-post i mer passande kategori **

Hej,

Skrotar mitt msure system och går till ett raspberry baserat OWFS system.
I samband med det skapar jag en ny mysql-databas men jag kan inte tillräckligt för att veta vilken design som är att föredra.

Vad har ni databaskunniga för tankar om följande två olika upplägg:

A. Många tabeller
Msure's sätt att ha en tabell (som är sensornamnet) per sensor med kolumner [Value] [TimeStamp]

ELLER

B. Två Tabeller
HA's(?) sätt med en sensortabell med [ID] [Namn]
och
EN tabell med all data, exempel [ID][Value][TimeStamp]

Konsekvenser i hanterbarhet, kompliceade söksträngar och performance?

Har 20-tal sensorer, behöver inte ta med de 8 åren av gammal data, har färdig visulaisering för msure's tabellstruktur.

Tacksam för alla synpunkter!
/Johan

Re: Databasdesign

Postat: 13 mar 2016, 17:09
av Videonisse
B med 2 tabeller eftersom data aldrig bör dupliceras.

Re: Databasdesign

Postat: 13 mar 2016, 18:02
av Johannabacken
Ok, bra regel men hur menar du att data dupliceras i alt A?
Jag kanske förklarade dåligt:
i A finns en tabell för varje sensor som innehåller [Value] [TimeStamp].
Exempel:
Tabell: Badrum
[20160313 10.00] [23.2]

Tabell: Sovrum
[20160313 10.05] [23.1]

i alternativ B är all data i en tabell:

Tabell: 1wiretemp
[20160313 10.00] [Badrum] [23.2]
[20160313 10.05] [Sovrum] [23.1]

Tankar?

/Johan

Re: Databasdesign

Postat: 13 mar 2016, 20:56
av hellgun
Finns ett tredje alternativ som jag kör.

Tabell: temperatur
Kolumner: tidpunkt, utomhus, badrum, kök, sovrum
[20160313 10:00] [1.2] [23.1] [22.9] [20.5]

Skickat från min Nexus 5 via Tapatalk

Re: Databasdesign

Postat: 15 mar 2016, 08:34
av simply
Ditt förslag B känns mest korrekt.

Tabell: Enheter
[ID] [Namn] [Typ]
("Typ", om man mäter annat än temp)

Tabell: Temperatur
[ID] [Temp] [Tid]

Sen kan man ju skapa fler Temp-tabeller om man vill ha genomsnitt/timme/dag/vecka utan att behöva plöja igenom all rådata och beräkna det varje gång man vill se det...

--- Tapatalk'd

Re: Databasdesign

Postat: 15 mar 2016, 20:30
av flyvert
Jag har tre tabeller där de två första innehåller metadata - tex beskrivning, min, max och ingenjörsstorhet (grader, Volt, kWh, etc) som mina Flot (JavaScript) trender kan läsa från.

sensors
properties
data


En sensor kan ju ha flera properties, t.ex en EDS0668 har ju temp, fukt, tryck och ljus. Har själv två, en inne och en ute (egen IP-klassning: klarlackad ekretskortet med sensorerna maskerade).

Datatabellen har flera kolumner

time, sensorid, propertyid, value, aggregate, period

Aggregate anger om det är ett momentanvärde (celsiusgrader) eller ett ackumulerat värde (kWh). Har även aggregat för min, max o medel.
Period är tidsbasis, t.ex. aggregate 1 och period 1 är ett minutvärde medan aggregate 2 och period 3 är ett dygnsmedelvärde.

Jag har stored procedures som körs på tim, dygn, vecko och månadsbasis som räknar fram min/max/medel-värden och tar bort minutdatat efter drygt en månad.

La ut hela designen (en tidig version) under mina första månader här på forumet.

Med denna design begränsar jag databastillväxten (kör på Raspberry PI) och jag snabbt leta upp t.ex. ett maxvärde eller medelvärde utan att behöva göra tunga beräkningar.

Re: Databasdesign

Postat: 19 mar 2016, 11:15
av Johannabacken
Tack!

Genomgående är att ni har valt varianter där alla data samlas i en tabell med taggar som talar om vilken data det är,

Jag tar med mig det och gör antagligen på liknande sätt. det lutar åt att jag gör samlar all data men gör olika tabeller beroende på vilken typ av sensor det är (temp och elförb får egna tabeller) Då tänker jag att tabellerna blir lite "renare" och att jag håller min/max/avg och liknande beräknade värden utanför datatabellen.

(eller så gör jag en kopia av msure setupen så jag kan använda de visualiseringsscript jag har. Jag är ju ingen hejare på SQL...)

Tack igen för inspirationen!

/Johan

Re: Databasdesign

Postat: 22 mar 2016, 09:30
av sege
Jag slår ett slag för InfluxDB istället för MySQL. Det är helt fel att lagra mätvärden i en SQL, en time series DB är otroligt mycket bättre på det.
Mina queries gick från timmar till sekunder när jag slängde ut MySQL till förmån för InfluxDB.

SQL är bra på vissa saker men riktigt usel på att räkna ut snitt/min/max/gruppera efter tid och dylikt.

Jag lagrar alla mina värden kopplat med 'sensorname' som inte har något med ursprungssensor att göra utan är ett för mig unikt namn. Det gör att jag kan byta min tempgivare på norrsidan till en helt ny sensor, teknik och så vidare men fortsätta med samma 'sensorname'. Smidigt, anser jag.

Sen ligger koppling till fysisk sensor i en tabell där även ett mer human readable-namn finns. :)

/Johan

Re: Databasdesign

Postat: 22 mar 2016, 09:58
av Johannabacken
Jag slår ett slag för InfluxDB istället för MySQL. Det är helt fel att lagra mätvärden i en SQL, en time series DB är otroligt mycket bättre på det.
Mina queries gick från timmar till sekunder när jag slängde ut MySQL till förmån för InfluxDB.

SQL är bra på vissa saker men riktigt usel på att räkna ut snitt/min/max/gruppera efter tid och dylikt.
Tack, mycket intressant. Tycker ju att det är krångligt med SQL och lätt att ställa frågor som tar orimligt lång tid (min SQL-kunskap har brister, jag vet)
Saken är väl att jag tänkt lagra data på antigen NASen eller hos webhotellet och där finns bara MYSQL förinstallerat.
Jag lagrar alla mina värden kopplat med 'sensorname' som inte har något med ursprungssensor att göra utan är ett för mig unikt namn. Det gör att jag kan byta min tempgivare på norrsidan till en helt ny sensor, teknik och så vidare men fortsätta med samma 'sensorname'. Smidigt, anser jag.

Sen ligger koppling till fysisk sensor i en tabell där även ett mer human readable-namn finns. :)
Kanon. Så klarat ska mätvärdena vara relaterade till vad de mäter och inte vad de heter.

/Johan

Re: Databasdesign

Postat: 23 mar 2016, 20:18
av selstam
Jag kör mongodb för att spara mina värden ... Så här kan ett document för ett dygn se ut:

Kod: Markera allt

{
    "_id" : ObjectId("56f07debcae0d31b34fbfdaa"),
    "hn" : "sensorpi.selstam.nu",
    "sid" : "10EF30CB01080002",
    "d" : ISODate("2016-03-22T00:00:00.000+01:00"),
    "mi" : 17.7500000000000000,
    "ma" : 18.5625000000000000,
    "c" : 24,
    "av" : 18.2140625000000010,
    "vah" : [ 
        {
            "h" : 0,
            "mi" : 18.5000000000000000,
            "ma" : 18.5625000000000000,
            "c" : 11,
            "av" : 18.5340909090909100,
            "vam" : [ 
                {
                    "m" : 4,
                    "r" : "18.5625",
                    "v" : 18.5625000000000000
                }, 
                {
                    "m" : 9,
                    "r" : "18.5625",
                    "v" : 18.5625000000000000
                }, 
                {
                    "m" : 15,
                    "r" : "18.5625",
                    "v" : 18.5625000000000000
                }, 
                {
                    "m" : 20,
                    "r" : "18.5625",
                    "v" : 18.5625000000000000
                }, 
                {
                    "m" : 25,
                    "r" : "18.5625",
                    "v" : 18.5625000000000000
                }, 
                {
                    "m" : 31,
                    "r" : "18.5625",
                    "v" : 18.5625000000000000
                }, 
                {
                    "m" : 36,
                    "r" : "18.5",
                    "v" : 18.5000000000000000
                }, 
                {
                    "m" : 41,
                    "r" : "18.5",
                    "v" : 18.5000000000000000
                }, 
                {
                    "m" : 47,
                    "r" : "18.5",
                    "v" : 18.5000000000000000
                }, 
                {
                    "m" : 52,
                    "r" : "18.5",
                    "v" : 18.5000000000000000
                }, 
                {
                    "m" : 57,
                    "r" : "18.5",
                    "v" : 18.5000000000000000
                }
            ]
        }, 
        {
            "h" : 1,
            "mi" : 18.3750000000000000,
            "ma" : 18.5000000000000000,
            "c" : 11,
            "av" : 18.4318181818181830,
            "vam" : [ 
                {
                    "m" : 2,
                    "r" : "18.5",
                    "v" : 18.5000000000000000
                }, 
                {
                    "m" : 8,
                    "r" : "18.4375",
                    "v" : 18.4375000000000000
                }, 
                {
                    "m" : 14,
                    "r" : "18.4375",
                    "v" : 18.4375000000000000
                }, 
                {
                    "m" : 19,
                    "r" : "18.5",
                    "v" : 18.5000000000000000
                }, 
                {
                    "m" : 25,
                    "r" : "18.4375",
                    "v" : 18.4375000000000000
                }, 
                {
                    "m" : 31,
                    "r" : "18.4375",
                    "v" : 18.4375000000000000
                }, 
                {
                    "m" : 36,
                    "r" : "18.4375",
                    "v" : 18.4375000000000000
                }, 
                {
                    "m" : 42,
                    "r" : "18.4375",
                    "v" : 18.4375000000000000
                }, 
                {
                    "m" : 48,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 53,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 58,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }
            ]
        }, 
        {
            "h" : 2,
            "mi" : 18.3125000000000000,
            "ma" : 18.3750000000000000,
            "c" : 10,
            "av" : 18.3500000000000010,
            "vam" : [ 
                {
                    "m" : 3,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 9,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 15,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 21,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 26,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 32,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 38,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 43,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 49,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 54,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }
            ]
        }, 
        {
            "h" : 3,
            "mi" : 18.2500000000000000,
            "ma" : 18.3125000000000000,
            "c" : 11,
            "av" : 18.2784090909090900,
            "vam" : [ 
                {
                    "m" : 0,
                    "r" : "18.25",
                    "v" : 18.2500000000000000
                }, 
                {
                    "m" : 5,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 10,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 16,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 21,
                    "r" : "18.25",
                    "v" : 18.2500000000000000
                }, 
                {
                    "m" : 26,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 32,
                    "r" : "18.25",
                    "v" : 18.2500000000000000
                }, 
                {
                    "m" : 37,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 43,
                    "r" : "18.25",
                    "v" : 18.2500000000000000
                }, 
                {
                    "m" : 49,
                    "r" : "18.25",
                    "v" : 18.2500000000000000
                }, 
                {
                    "m" : 55,
                    "r" : "18.25",
                    "v" : 18.2500000000000000
                }
            ]
        }, 
        {
            "h" : 4,
            "mi" : 18.1250000000000000,
            "ma" : 18.2500000000000000,
            "c" : 11,
            "av" : 18.1818181818181830,
            "vam" : [ 
                {
                    "m" : 0,
                    "r" : "18.25",
                    "v" : 18.2500000000000000
                }, 
                {
                    "m" : 5,
                    "r" : "18.1875",
                    "v" : 18.1875000000000000
                }, 
                {
                    "m" : 11,
                    "r" : "18.1875",
                    "v" : 18.1875000000000000
                }, 
                {
                    "m" : 16,
                    "r" : "18.1875",
                    "v" : 18.1875000000000000
                }, 
                {
                    "m" : 22,
                    "r" : "18.1875",
                    "v" : 18.1875000000000000
                }, 
                {
                    "m" : 27,
                    "r" : "18.1875",
                    "v" : 18.1875000000000000
                }, 
                {
                    "m" : 32,
                    "r" : "18.1875",
                    "v" : 18.1875000000000000
                }, 
                {
                    "m" : 38,
                    "r" : "18.1875",
                    "v" : 18.1875000000000000
                }, 
                {
                    "m" : 44,
                    "r" : "18.1875",
                    "v" : 18.1875000000000000
                }, 
                {
                    "m" : 50,
                    "r" : "18.125",
                    "v" : 18.1250000000000000
                }, 
                {
                    "m" : 56,
                    "r" : "18.125",
                    "v" : 18.1250000000000000
                }
            ]
        }, 
        {
            "h" : 5,
            "mi" : 18.0625000000000000,
            "ma" : 18.1250000000000000,
            "c" : 11,
            "av" : 18.0909090909090900,
            "vam" : [ 
                {
                    "m" : 1,
                    "r" : "18.125",
                    "v" : 18.1250000000000000
                }, 
                {
                    "m" : 7,
                    "r" : "18.125",
                    "v" : 18.1250000000000000
                }, 
                {
                    "m" : 12,
                    "r" : "18.125",
                    "v" : 18.1250000000000000
                }, 
                {
                    "m" : 18,
                    "r" : "18.125",
                    "v" : 18.1250000000000000
                }, 
                {
                    "m" : 24,
                    "r" : "18.125",
                    "v" : 18.1250000000000000
                }, 
                {
                    "m" : 30,
                    "r" : "18.0625",
                    "v" : 18.0625000000000000
                }, 
                {
                    "m" : 35,
                    "r" : "18.0625",
                    "v" : 18.0625000000000000
                }, 
                {
                    "m" : 40,
                    "r" : "18.0625",
                    "v" : 18.0625000000000000
                }, 
                {
                    "m" : 46,
                    "r" : "18.0625",
                    "v" : 18.0625000000000000
                }, 
                {
                    "m" : 51,
                    "r" : "18.0625",
                    "v" : 18.0625000000000000
                }, 
                {
                    "m" : 57,
                    "r" : "18.0625",
                    "v" : 18.0625000000000000
                }
            ]
        }, 
        {
            "h" : 6,
            "mi" : 18.0000000000000000,
            "ma" : 18.0625000000000000,
            "c" : 10,
            "av" : 18.0062500000000010,
            "vam" : [ 
                {
                    "m" : 2,
                    "r" : "18.0625",
                    "v" : 18.0625000000000000
                }, 
                {
                    "m" : 8,
                    "r" : "18",
                    "v" : 18.0000000000000000
                }, 
                {
                    "m" : 13,
                    "r" : "18",
                    "v" : 18.0000000000000000
                }, 
                {
                    "m" : 19,
                    "r" : "18",
                    "v" : 18.0000000000000000
                }, 
                {
                    "m" : 25,
                    "r" : "18",
                    "v" : 18.0000000000000000
                }, 
                {
                    "m" : 31,
                    "r" : "18",
                    "v" : 18.0000000000000000
                }, 
                {
                    "m" : 37,
                    "r" : "18",
                    "v" : 18.0000000000000000
                }, 
                {
                    "m" : 43,
                    "r" : "18",
                    "v" : 18.0000000000000000
                }, 
                {
                    "m" : 49,
                    "r" : "18",
                    "v" : 18.0000000000000000
                }, 
                {
                    "m" : 55,
                    "r" : "18",
                    "v" : 18.0000000000000000
                }
            ]
        }, 
        {
            "h" : 7,
            "mi" : 17.8750000000000000,
            "ma" : 17.9375000000000000,
            "c" : 11,
            "av" : 17.9147727272727270,
            "vam" : [ 
                {
                    "m" : 1,
                    "r" : "17.9375",
                    "v" : 17.9375000000000000
                }, 
                {
                    "m" : 6,
                    "r" : "17.9375",
                    "v" : 17.9375000000000000
                }, 
                {
                    "m" : 12,
                    "r" : "17.9375",
                    "v" : 17.9375000000000000
                }, 
                {
                    "m" : 18,
                    "r" : "17.9375",
                    "v" : 17.9375000000000000
                }, 
                {
                    "m" : 24,
                    "r" : "17.875",
                    "v" : 17.8750000000000000
                }, 
                {
                    "m" : 29,
                    "r" : "17.9375",
                    "v" : 17.9375000000000000
                }, 
                {
                    "m" : 34,
                    "r" : "17.875",
                    "v" : 17.8750000000000000
                }, 
                {
                    "m" : 39,
                    "r" : "17.875",
                    "v" : 17.8750000000000000
                }, 
                {
                    "m" : 44,
                    "r" : "17.9375",
                    "v" : 17.9375000000000000
                }, 
                {
                    "m" : 49,
                    "r" : "17.9375",
                    "v" : 17.9375000000000000
                }, 
                {
                    "m" : 55,
                    "r" : "17.875",
                    "v" : 17.8750000000000000
                }
            ]
        }, 
        {
            "h" : 8,
            "mi" : 17.8125000000000000,
            "ma" : 17.8750000000000000,
            "c" : 11,
            "av" : 17.8579545454545470,
            "vam" : [ 
                {
                    "m" : 1,
                    "r" : "17.875",
                    "v" : 17.8750000000000000
                }, 
                {
                    "m" : 7,
                    "r" : "17.875",
                    "v" : 17.8750000000000000
                }, 
                {
                    "m" : 12,
                    "r" : "17.875",
                    "v" : 17.8750000000000000
                }, 
                {
                    "m" : 17,
                    "r" : "17.875",
                    "v" : 17.8750000000000000
                }, 
                {
                    "m" : 23,
                    "r" : "17.875",
                    "v" : 17.8750000000000000
                }, 
                {
                    "m" : 28,
                    "r" : "17.8125",
                    "v" : 17.8125000000000000
                }, 
                {
                    "m" : 34,
                    "r" : "17.8125",
                    "v" : 17.8125000000000000
                }, 
                {
                    "m" : 39,
                    "r" : "17.875",
                    "v" : 17.8750000000000000
                }, 
                {
                    "m" : 45,
                    "r" : "17.875",
                    "v" : 17.8750000000000000
                }, 
                {
                    "m" : 50,
                    "r" : "17.875",
                    "v" : 17.8750000000000000
                }, 
                {
                    "m" : 56,
                    "r" : "17.8125",
                    "v" : 17.8125000000000000
                }
            ]
        }, 
        {
            "h" : 9,
            "mi" : 17.7500000000000000,
            "ma" : 17.8125000000000000,
            "c" : 11,
            "av" : 17.7954545454545470,
            "vam" : [ 
                {
                    "m" : 2,
                    "r" : "17.8125",
                    "v" : 17.8125000000000000
                }, 
                {
                    "m" : 7,
                    "r" : "17.8125",
                    "v" : 17.8125000000000000
                }, 
                {
                    "m" : 12,
                    "r" : "17.8125",
                    "v" : 17.8125000000000000
                }, 
                {
                    "m" : 18,
                    "r" : "17.8125",
                    "v" : 17.8125000000000000
                }, 
                {
                    "m" : 24,
                    "r" : "17.8125",
                    "v" : 17.8125000000000000
                }, 
                {
                    "m" : 29,
                    "r" : "17.8125",
                    "v" : 17.8125000000000000
                }, 
                {
                    "m" : 34,
                    "r" : "17.8125",
                    "v" : 17.8125000000000000
                }, 
                {
                    "m" : 40,
                    "r" : "17.8125",
                    "v" : 17.8125000000000000
                }, 
                {
                    "m" : 45,
                    "r" : "17.75",
                    "v" : 17.7500000000000000
                }, 
                {
                    "m" : 50,
                    "r" : "17.75",
                    "v" : 17.7500000000000000
                }, 
                {
                    "m" : 56,
                    "r" : "17.75",
                    "v" : 17.7500000000000000
                }
            ]
        }, 
        {
            "h" : 10,
            "mi" : 17.7500000000000000,
            "ma" : 17.8125000000000000,
            "c" : 11,
            "av" : 17.7727272727272730,
            "vam" : [ 
                {
                    "m" : 1,
                    "r" : "17.75",
                    "v" : 17.7500000000000000
                }, 
                {
                    "m" : 6,
                    "r" : "17.75",
                    "v" : 17.7500000000000000
                }, 
                {
                    "m" : 11,
                    "r" : "17.75",
                    "v" : 17.7500000000000000
                }, 
                {
                    "m" : 17,
                    "r" : "17.8125",
                    "v" : 17.8125000000000000
                }, 
                {
                    "m" : 23,
                    "r" : "17.75",
                    "v" : 17.7500000000000000
                }, 
                {
                    "m" : 29,
                    "r" : "17.75",
                    "v" : 17.7500000000000000
                }, 
                {
                    "m" : 34,
                    "r" : "17.75",
                    "v" : 17.7500000000000000
                }, 
                {
                    "m" : 39,
                    "r" : "17.8125",
                    "v" : 17.8125000000000000
                }, 
                {
                    "m" : 45,
                    "r" : "17.75",
                    "v" : 17.7500000000000000
                }, 
                {
                    "m" : 50,
                    "r" : "17.8125",
                    "v" : 17.8125000000000000
                }, 
                {
                    "m" : 56,
                    "r" : "17.8125",
                    "v" : 17.8125000000000000
                }
            ]
        }, 
        {
            "h" : 11,
            "mi" : 17.8750000000000000,
            "ma" : 18.0625000000000000,
            "c" : 11,
            "av" : 17.9715909090909100,
            "vam" : [ 
                {
                    "m" : 1,
                    "r" : "17.875",
                    "v" : 17.8750000000000000
                }, 
                {
                    "m" : 6,
                    "r" : "17.875",
                    "v" : 17.8750000000000000
                }, 
                {
                    "m" : 12,
                    "r" : "17.9375",
                    "v" : 17.9375000000000000
                }, 
                {
                    "m" : 18,
                    "r" : "17.9375",
                    "v" : 17.9375000000000000
                }, 
                {
                    "m" : 24,
                    "r" : "17.9375",
                    "v" : 17.9375000000000000
                }, 
                {
                    "m" : 29,
                    "r" : "18",
                    "v" : 18.0000000000000000
                }, 
                {
                    "m" : 35,
                    "r" : "18",
                    "v" : 18.0000000000000000
                }, 
                {
                    "m" : 40,
                    "r" : "18",
                    "v" : 18.0000000000000000
                }, 
                {
                    "m" : 46,
                    "r" : "18",
                    "v" : 18.0000000000000000
                }, 
                {
                    "m" : 51,
                    "r" : "18.0625",
                    "v" : 18.0625000000000000
                }, 
                {
                    "m" : 56,
                    "r" : "18.0625",
                    "v" : 18.0625000000000000
                }
            ]
        }, 
        {
            "h" : 12,
            "mi" : 18.0625000000000000,
            "ma" : 18.1875000000000000,
            "c" : 11,
            "av" : 18.1193181818181830,
            "vam" : [ 
                {
                    "m" : 1,
                    "r" : "18.0625",
                    "v" : 18.0625000000000000
                }, 
                {
                    "m" : 7,
                    "r" : "18.0625",
                    "v" : 18.0625000000000000
                }, 
                {
                    "m" : 13,
                    "r" : "18.0625",
                    "v" : 18.0625000000000000
                }, 
                {
                    "m" : 18,
                    "r" : "18.0625",
                    "v" : 18.0625000000000000
                }, 
                {
                    "m" : 24,
                    "r" : "18.125",
                    "v" : 18.1250000000000000
                }, 
                {
                    "m" : 29,
                    "r" : "18.125",
                    "v" : 18.1250000000000000
                }, 
                {
                    "m" : 34,
                    "r" : "18.125",
                    "v" : 18.1250000000000000
                }, 
                {
                    "m" : 39,
                    "r" : "18.125",
                    "v" : 18.1250000000000000
                }, 
                {
                    "m" : 44,
                    "r" : "18.1875",
                    "v" : 18.1875000000000000
                }, 
                {
                    "m" : 50,
                    "r" : "18.1875",
                    "v" : 18.1875000000000000
                }, 
                {
                    "m" : 55,
                    "r" : "18.1875",
                    "v" : 18.1875000000000000
                }
            ]
        }, 
        {
            "h" : 13,
            "mi" : 18.2500000000000000,
            "ma" : 18.3750000000000000,
            "c" : 11,
            "av" : 18.2784090909090900,
            "vam" : [ 
                {
                    "m" : 0,
                    "r" : "18.25",
                    "v" : 18.2500000000000000
                }, 
                {
                    "m" : 6,
                    "r" : "18.25",
                    "v" : 18.2500000000000000
                }, 
                {
                    "m" : 12,
                    "r" : "18.25",
                    "v" : 18.2500000000000000
                }, 
                {
                    "m" : 17,
                    "r" : "18.25",
                    "v" : 18.2500000000000000
                }, 
                {
                    "m" : 22,
                    "r" : "18.25",
                    "v" : 18.2500000000000000
                }, 
                {
                    "m" : 27,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 33,
                    "r" : "18.25",
                    "v" : 18.2500000000000000
                }, 
                {
                    "m" : 38,
                    "r" : "18.25",
                    "v" : 18.2500000000000000
                }, 
                {
                    "m" : 44,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 49,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 55,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }
            ]
        }, 
        {
            "h" : 14,
            "mi" : 18.3125000000000000,
            "ma" : 18.3750000000000000,
            "c" : 11,
            "av" : 18.3181818181818170,
            "vam" : [ 
                {
                    "m" : 0,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 6,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 11,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 17,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 22,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 28,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 34,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 39,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 45,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 51,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 56,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }
            ]
        }, 
        {
            "h" : 15,
            "mi" : 18.3125000000000000,
            "ma" : 18.3750000000000000,
            "c" : 11,
            "av" : 18.3181818181818170,
            "vam" : [ 
                {
                    "m" : 2,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 7,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 13,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 18,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 24,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 30,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 35,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 40,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 46,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 51,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 57,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }
            ]
        }, 
        {
            "h" : 16,
            "mi" : 18.3125000000000000,
            "ma" : 18.3750000000000000,
            "c" : 11,
            "av" : 18.3579545454545470,
            "vam" : [ 
                {
                    "m" : 2,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 7,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 13,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 18,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 24,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 30,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 35,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 41,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 46,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 51,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 56,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }
            ]
        }, 
        {
            "h" : 17,
            "mi" : 18.3750000000000000,
            "ma" : 18.4375000000000000,
            "c" : 11,
            "av" : 18.3806818181818170,
            "vam" : [ 
                {
                    "m" : 2,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 7,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 13,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 19,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 24,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 30,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 36,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 42,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 48,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 53,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 58,
                    "r" : "18.4375",
                    "v" : 18.4375000000000000
                }
            ]
        }, 
        {
            "h" : 18,
            "mi" : 18.3750000000000000,
            "ma" : 18.4375000000000000,
            "c" : 10,
            "av" : 18.3937500000000010,
            "vam" : [ 
                {
                    "m" : 4,
                    "r" : "18.4375",
                    "v" : 18.4375000000000000
                }, 
                {
                    "m" : 9,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 15,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 21,
                    "r" : "18.4375",
                    "v" : 18.4375000000000000
                }, 
                {
                    "m" : 26,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 32,
                    "r" : "18.4375",
                    "v" : 18.4375000000000000
                }, 
                {
                    "m" : 38,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 43,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 49,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 55,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }
            ]
        }, 
        {
            "h" : 19,
            "mi" : 18.3750000000000000,
            "ma" : 18.3750000000000000,
            "c" : 12,
            "av" : 18.3750000000000000,
            "vam" : [ 
                {
                    "m" : 0,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 5,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 10,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 16,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 22,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 27,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 33,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 38,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 43,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 48,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 53,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 59,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }
            ]
        }, 
        {
            "h" : 20,
            "mi" : 18.3750000000000000,
            "ma" : 18.4375000000000000,
            "c" : 10,
            "av" : 18.3874999999999990,
            "vam" : [ 
                {
                    "m" : 5,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 10,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 15,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 21,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 26,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 32,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 38,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 43,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 49,
                    "r" : "18.4375",
                    "v" : 18.4375000000000000
                }, 
                {
                    "m" : 54,
                    "r" : "18.4375",
                    "v" : 18.4375000000000000
                }
            ]
        }, 
        {
            "h" : 21,
            "mi" : 18.3125000000000000,
            "ma" : 18.3750000000000000,
            "c" : 11,
            "av" : 18.3636363636363630,
            "vam" : [ 
                {
                    "m" : 0,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 5,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 11,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 16,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 22,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 28,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 34,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 40,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 46,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 51,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 56,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }
            ]
        }, 
        {
            "h" : 22,
            "mi" : 18.3125000000000000,
            "ma" : 18.3750000000000000,
            "c" : 11,
            "av" : 18.3295454545454530,
            "vam" : [ 
                {
                    "m" : 1,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 6,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 12,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 18,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 23,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 29,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 34,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 39,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 45,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 51,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 56,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }
            ]
        }, 
        {
            "h" : 23,
            "mi" : 18.3125000000000000,
            "ma" : 18.3750000000000000,
            "c" : 11,
            "av" : 18.3295454545454530,
            "vam" : [ 
                {
                    "m" : 2,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 8,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 13,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 19,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 25,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 30,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 35,
                    "r" : "18.375",
                    "v" : 18.3750000000000000
                }, 
                {
                    "m" : 41,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 46,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 51,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }, 
                {
                    "m" : 56,
                    "r" : "18.3125",
                    "v" : 18.3125000000000000
                }
            ]
        }
    ]
}

Re: Databasdesign

Postat: 23 mar 2016, 20:31
av Johannabacken
MongoDB......
Nog för att trenden mot textbaserade protokoll har varit stark men jag är inte riktigt övertygad. Kalla mig gammalmodig.

Men jag hade inte hört talas om det så det var rolig och intresssant läsning, kan tänka mig att det finns användningsområden. Kanske ypperligt för konfigurationsdata?

Tack för tips!
/Johan

Re: Databasdesign

Postat: 23 mar 2016, 20:47
av selstam
Om någon är intresserad ... :)

Schema Design for Time Series Data in MongoDB
http://blog.mongodb.org/post/6551719337 ... in-mongodb

Re: Databasdesign

Postat: 13 apr 2016, 17:44
av brimstedt
Hej!

Jag har svårt att tro att mätvärden hemma hos någon skulle ge så mycket data att en sql-db tar timmar att fråga där en timeseries går supersnabbt.. Då har man nog inte indexerat eller modellerat riktigt ;-)

Men det jag tänkte säga egentligen - varför inte använda ett existerande system?

zabbix, tex är ett opensourcesystem för övervakning generellt. Funkar att lagra tex temperaturvärden, men har även stöd för övervakning av datorer, mm, så man kan få in mycket grejjer. Sedan har det inbyggt stöd för grafer, dashboards, att skicka varningar via mail eller sms om vissa villkor uppfylls, etc.

Bara ett tips :-)

/Linus

Re: Databasdesign

Postat: 13 apr 2016, 18:26
av dargosch
brimstedt skrev:Hej!

Jag har svårt att tro att mätvärden hemma hos någon skulle ge så mycket data att en sql-db tar timmar att fråga där en timeseries går supersnabbt.. Då har man nog inte indexerat eller modellerat riktigt ;-)

Men det jag tänkte säga egentligen - varför inte använda ett existerande system?

zabbix, tex är ett opensourcesystem för övervakning generellt. Funkar att lagra tex temperaturvärden, men har även stöd för övervakning av datorer, mm, så man kan få in mycket grejjer. Sedan har det inbyggt stöd för grafer, dashboards, att skicka varningar via mail eller sms om vissa villkor uppfylls, etc.

Bara ett tips :-)

/Linus
Ja, eller openHAB. De har en one wire-binding, och då får du väldigt mycket väl fungerande infrastruktur på köpet.

https://github.com/openhab/openhab/wiki ... re-Binding