Zadejte hledaný výraz...
Jakub Glos
Webtrh.cz
Vývoj webových stránek na WordPressu a proklientský přístup pro freelancery
Třídenní infromacemi nabitý prezenční + online kurz v Praze od Webtrhu pouze za 2 871 Kč
Více informací

Optimalizace dat pro graf

Jan Kuthan
verified
rating uzivatele
(48 hodnocení)
5. 6. 2017 01:40:32
Zdravím,
potřeboval bych poradit s výpočtem hodnot do grafu.
Jde o to, že v DB jsou hodnoty (id, čas, hodnota) a web si do grafu načítá hodnoty za posledních např. 30 minut. Hodnot tam může být různě v různé koncentraci.
Hodnoty se vykreslují do grafu a každých X vteřin se načtou znovu, pomocí JS se rozpoznají ID, které v grafu ještě nejsou a ty se přidají (graf je realtime tzn. ubíhá), při přidání jednoho prvku se nejstarší prvek maže.
A teď problém:
Pro větší časové úseky je tam hodnot mnoho (desetitisíce a víc), potřebuji teda data optimalizovat způsobem, aby graf zůstal cca stejný a při menší časové výseči věrnější.
Můj pokus:
Šel jsem na to tak, že jsem si určil kolik hodnot v grafu chci zobrazovat (např. 30), celkový počet hodnot jsem rozdělil na tolik částí +1 část ze zbytku a ty zprůměroval jak hodnoty, tak časy. Vzniklo mi tedy 30+1 hodnot, které reprezentují původní graf - toto řešení až po tuto část funguje dobře.
Problém ale nastává s realtime doplňováním grafu, kdy nemohu spolehlivě říci, jaká data byla v grafu započítána, data se mění takže nelze jen doplňovat, ale bylo by třeba je nahrazovat. Vzniklé výseče se na datech posouvají, průměry se lehce mění a graf se houpe. Toto řešení je tedy evidentně úplně naprd :D
Byl by někdo schopný mě nakopnout správným směrem? Díky!
--------------------
Celé řešení je postavené na mysql, php, js. Knihovna grafů funguje tak, že je pole prvků, do něj se přidává, ubírá a následně volá update.
---------- Příspěvek doplněn 05.06.2017 v 10:54 ----------
Tak úvahami jsem se malinko posunul, každý graf bude mít nastaveno i rozlišení (1min, 5min, ....) a průměrovat se tedy budou vždy přesně dané skupinky. Tzn. měnit se budou data jen v poslední, kterou ale budu schopný mazat a graf v realtimu se bude na svém konci "upřesňovat".
Nová otázka:
Lze jednoduše z databáze selectem vybrat průměry hodnot za určitý čas? Sloupce: čas, hodnota
Díky :)
---------- Příspěvek doplněn 06.06.2017 v 11:09 ----------
Tak kdyby to někdo řešil, toto řešení mi zdá se vyhovuje:
5. 6. 2017 01:40:32
https://webtrh.cz/diskuse/optimalizace-dat-pro-graf/#reply1282973
Pro odpověď se přihlašte.
Přihlásit